matlab求矩阵 均值、标准差、最大值以及reshape()函数

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
     
% 矩阵的值来自那个矩阵该位置上的值
  • 12
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值