1.读入图像(矩阵),求矩阵均值的方法
>> a=[1,2,3;4,5,6;,7,8,9]
a =
1 2 3
4 5 6
7 8 9
>> mean(a,1) %求矩阵的所有列的均值
ans =
4 5 6
>> mean(a) %求矩阵的所有列的均值
ans =
4 5 6
>> mean(a,2) %求矩阵所有行的均值
ans =
2
5
8
>> mean(mean(a)) %求矩阵所有元素的均值
ans =
5
2.求矩阵的标准差
%一维例子
>> a=[1,2,3]
a =
1 2 3
>> b=mean(a)
b =
2
% 方法一:一维:求和/n ,有效估计
>> sqrt((sum((a-b).^2))/3)
ans =
0.8165
% 方法二:一维:均值,sqrt(mean((元素-平均值).^2))有效估计
>> sqrt(mean((a-b).^2))
ans =
0.8165
% 方法三 ,函数调用
>> std(a) %默认,无偏估计
ans =
1
>> std(a,1) %有效估计
ans =
0.8165
% std(矩阵,0/1,行/列)
>> a=[1,2,3;4,5,6;,7,8,9]
a =
1 2 3
4 5 6
7 8 9
>> std(a) %求矩阵列的标准差,默认无偏估计
ans =
3 3 3
>> std(a,0) %求矩阵列的无偏估计n-1
ans =
3 3 3
>> std(a,1) %求矩阵的有效估计n
ans =
2.4495 2.4495 2.4495
>> std(a,0,1) %求矩阵列的标准差且是无偏估计
ans =
3 3 3
>> std(a,0,2) %求矩阵行的标准差且是无偏估计
ans =
1
1
1
%方法一:函数调用
>> std2(a) %求矩阵所有元素的标准差,无偏估计
ans =
2.7386
%方法二:
>>b=mean(mean(a))
b =
5
% 二维,sqrt(mean(mean((图像像素值-平均值).^2)))%有效估计
>> sqrt(mean(mean((a-b).^2)))
ans =
2.5820 %求矩阵所有元素的标准差,有效估计
% 方法三:二维:求和/n sum(sum()),有效估计
sqrt((sum(sum((a-b).^2)))/9)
ans =
2.5820
% 方法四:方差=均值(^2)-(均值)^2,sqrt(方差);有效估计
3.reshape()函数
语法是 A = reshape(A,m,n); 或者 A = reshape(A,[m,n]); 都是将A 的行列排列成m行n列。另外 reshape是 按照列取数据的,
例如 A =
1 4 7 10
2 5 8 11
3 6 9 12
A = reshape(A , 2 , 6 )得到的结果就是
1 3 5 7 9 11
2 4 6 8 10 12
顺序看起来貌似变的有些乱了,如果再将A排列成3*4 矩阵,数据的位置还会一样么,
A = reshape(A, 3,4)
A =
1 4 7 10
2 5 8 11
3 6 9 12
结果是一摸一样的。其实A 矩阵无论如何reshape ,只要最有reshape 成3*4 的 结果就会一摸一样。
>> a=[1 2 3;4 5 6];
>> max(a)
ans =
4 5 6
>> max(a,[],1) %求矩阵的每一列的最大值
ans =
4 5 6
>> max(a,[],2) %求矩阵的每一行的最大值
ans =
3
6
a =
1 2 3
4 5 6
>> [C,I]=max(a)
C =
4 5 6
I =
2 2 2 %每个最大值的行号
>> [C,I]=max(a,[],2)
C =
3
6
I =
3 %每个最大值的列号
3
out3=max(LCM3,[],3);
[p,n]=max(LCM3,[],3); % 三维 值为一个矩阵 每个矩阵的值相比
D3=round(out3-p);
n =
1 1 1 1 1 2 2 2 1
1 1 1 1 1 2 2 2 1
1 1 1 1 1 2 2 2 1
1 1 1 1 1 2 2 2 1
1 1 1 1 1 2 2 2 1
1 1 1 1 1 3 3 3 3
1 1 1 1 1 3 3 3 3
1 1 1 1 1 3 3 3 3
1 1 1 1 1 3 3 3 3
% 矩阵的值来自那个矩阵该位置上的值