一、求矩阵的最大元素和最小元素max(); 求向量或矩阵的最大元素min(); 求向量或矩阵的最小元素当参数为向量时,函数有两种调用格式:
max(); 求向量或矩阵的最大元素
min(); 求向量或矩阵的最小元素
- y=max(X); 返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值。
- [y,k]=max(X);返回向量X的最大值存入y,最大值元素的序号存入k,如果X中包含复数元素,则按模取最大值。
例1:求向量x的最大元素,其中x=[-43,72,9,16,23,47].
代码:
>> x=[-43,72,9,16,23,47];
>>> y=max(x);
>>> [x,k]=max(x);
当参数为矩阵时,函数有三种调用格式:
- max(A):返回一个行向量,向量的第i个元素的是矩阵A的第i列上的最大值。
- [Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值元素的行号。
- max(A,[],dim):dim取1或2。dim取1时,该函数的功能和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值
例2 求矩阵A的每行及每列的最大元素,并求整个矩阵的最大元素。
>> A=[13,-56,78;25,63,-235;75,25,563;1,0,-1];
>> max(A)
ans =
75 63 563
>> max(A,[],2)
ans =
78
63
563
1
>> max(max(A))
ans =
563
>> max(A(:))
ans =
563
二、求矩阵的平均值和中值
- 平均值:指算术平均值,即每项数据之和除以项数
- 中值:指在数据序列中其值的大小恰好处在中间的元素。如果数据个数为奇数,则取值为大小位于中间的元素;如果数据个数为偶数,则取中间两个元素的平均值
- 求算术平均值:mean()
- 求中值:median()
例三:
>> x=[1200,800,1500,1000,5000];
>> mean(x)
ans =
1900
>> median(x)
ans =
1200
>>
总结:平均值很容易受极值的影响,也就是容易被平均。
三、求和与求积
- sum():求和函数
- prod():求积函数
四、累加和与累乘积
- cumsum():累加和函数
- cumprod():累乘积函数
例子四:求向量X=[1,2,3,4,5,6,7,8,9,10]的积与累乘积。
>> X=[1,2,3,4,5,6,7,8,9,10];
>> y1=prod(X)
y1 =
3628800
>> y2=cumprod(X)
y2 =
Columns 1 through 5
1 2 6 24 120
Columns 6 through 10
720 5040 40320 362880 3628800
>>
五、标准差与相关系数
标准差用于计算数据偏离平均数的距离的平均值,其计算公式为:
std():计算标准差函数.
调用格式:
- std(X):计算向量X的标准差
- std(A):计算矩阵A的各列的标准差
- std(A,flag,dim):flag取0或者1,当flag=0时,按S1所列公式计算样本标准差;当flag=1时,按S2所列公式计算总体标准差。默认情况下,flag=0,dim=1
例5 生成满足正态分布的50000*4的随机矩阵,用不同的形式求其各列之间的标准差.
>> x=randn(50000,4);
>> y1=std(x,0,1)
y1 =
1.0028 0.9990 0.9982 1.0019
>> y2=std(x,1,1)
y2 =
1.0028 0.9990 0.9982 1.0019
>> x1=x';
>> y3=std(x1,0,2);
>> y3'
ans =
1.0028 0.9990 0.9982 1.0019
>> y4=std(x1,1,2);
>> y4'
ans =
1.0028 0.9990 0.9982 1.0019
>>
相关系数:能够反映两组数据序列之间相互关系,其计算公式为
corrcoef():相关系数函数。
调用格式:
- corrcoef(A):返回由矩阵A所形成的一个相关系数矩阵,其中,第i行第i列的元素表示原矩阵A中第i列和第j列的相关系数。
- corrcoef(X,Y):在这里,X、Y是向量,它们与corrcoef([X,Y])的作用一样,用于求X,Y向量之间的相关系数。
>> A=[5032,6000,5100,5200;6532,6500,6600,5800;
5500,7000,5400,4800;4530,4000,4300,4200;
2300,2000,2200,2500;3254,3000,3500,3000;
8095,9000,7800,8500;7530,8000,7000,7500;
3841,3200,3500,3200;4500,5200,4800,4000];
>> corrcoef(A)
ans =
1.0000 0.9630 0.9906 0.9782
0.9630 1.0000 0.9694 0.9466
0.9906 0.9694 1.0000 0.9635
0.9782 0.9466 0.9635 1.0000
>>
六、排序
sort():排序函数.
调用格式:
-
sort(X):对向量X按升序排列。
-
[Y,I]=sort(A,dim,mode)
其中,dim指明对A的列还是行进行排序。mode指明按升序还是降序排序,若取"ascend",则按升序;若取“descend”,则按降序,默认为升序。输出参数中,Y是排序后的矩阵,而I记录Y中的元素在A中位置。
例七:对下列矩阵做各种排序。
>> A=[1,-8,5;4,12,6;13,7,-13];
>> sort(A)
ans =
1 -8 -13
4 7 5
13 12 6
>> sort(A,2,'descend')
ans =
5 1 -8
12 6 4
13 7 -13
>> [X,I]=sort(A)
X =
1 -8 -13
4 7 5
13 12 6
I =
1 1 3
2 3 1
3 2 2
>>