相关课程可以参考:中南大学《科学计算与Matlab语言》
https
一 数据统计分析
1.1 求最大元素与最小元素
max(): 求向量或矩阵的最大元素。
min(): 求向量或矩阵的最小元素。
当参数为向量时,两种调用格式:
(1) y = max(X): 返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值。
(2)[y,k] = max(X): 返回向量X的最大值存入y, 最大元素的序号存入k, 如果X中包含复数元素,则按模取最大值。
x=[-43,72,9,16,23,47];
y=max(x)
[y,k]=max(x)
当参数为矩阵时,函数有三种调用格式:
(1) max(A): 返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。
(2)[Y,U] = max(A): 返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值元素的行号。
(3)max(A,[],dim): dim取1或2。dim取1时,该函数的功能和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。也可以将矩阵转置求得每行的最大值。
A=[13,-56,78;25,63,-235;78,25,563;1,0,-1];
max(A) %结果为行向量,对应每列最大值
max(A,[],2) % 求每一行的最大值
max(max(A)) % 求矩阵A最大元素
max(A(:)) % 求矩阵A最大元素
max(A,2) %与2比较大小,返回大的那个值作为矩阵的元素
1.2 求平均值与中值
平均值: 指算术平均值,即每项数据之和除以项数。
中值: 指在数据序列中其值的大小恰好处在中间的元素。如果数据个数为奇数,则取值为大小位于中间的元素;如果数据个数为偶数,则取中间两个元素的平均值。
平均值容易受极端数据影响。所以在某些场合,中值可能更加能够反映数据集的水平。
mean(): 求算术平均值
median(): 求中值
调用格式与上述最大最小基本相同。
%例3 某学生宿舍的5位同学月生活费如向量x所示,其中,小
%明同学家境一般,请问他应该按什么标准向父母主张生活费
%额度才较为合理。x=[1200,800,1500,1000,5000]
x=[1200,800,1500,1000,5000];
mean(x) %1900
median(x) %1200不易受某个值影响
1.3 求和与求积
sum(): 求和函数。
prod(): 求积函数 。
1.4 累加和与累乘积
cumsum(): 累加和函数。
cumprod(): 累乘积函数。(与向量等长)
%例4 求向量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)
y2=cumprod(X)
1.5 求标准差和相关系数
标准差
S1:样本标准差
S2:总体标准差
%例5 生成满足正态分布的1000*4随机矩阵,用不同的形式
%求其各列之间的标准差。
x=randn(1000,4);
y1=std(x,0,1) % 求每列的样本标准差
y2=std(x,1,1) % 求每列的总体标准差
x1=x';
y3=std(x1,0,2); % 求每行的样本标准差
y3'
y4=std(x1,1,2); % 求每行的总体标准差
y4'
相关系数
corrcoef(): 相关系数函数。
%例6 某新产品上市,在上市之前,公司物流部门把新产品分配到不同地区的10个仓库进行销售。产品上市一个月后,公司要对各种不同的分配方案进行评估,以便在下一次新产品上市时进行更准确的分配,避免由于分配不当而产生的积压和断货。下表(见课件)是相关数据,请判断那种分配方案最为合理。
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) %4×4的对角阵,相关系数最大则方案最优
1.6 排序
sort(): 排序函数。
%例7 对下列矩阵(见课件)做各种排序。
A=[1,-8,5;4,12,6;13,7,-13];
sort(A) %按列升序排列
sort(A