Download - MATLAB 实例讲座
MATLAB 实例讲座
数据分析和统计
所有程序都在 MATLAB V6.5 中通过测试
数据分析和统计在本章中将介绍 M AT L A B 对数据处理和统计分析的命令。如果没有特别强调,本章中的 A 和 B 是指 m×n×. . .×p的多维矩阵, x 是一个向量。
¥ .1最大值和最小值
数据分析和统计例 1.创建一个三维矩阵A :>> A(:,:,1)=[1 2 3;2 3 1; 3 2 1]; >> A(:,:,2)=[2 4 6;4 6 2;6 4 2];
>> max(A) ans(:,:,1) = 3 3 3
ans(:,:,2) = 6 6 6 >> whos
Name Size Bytes Class
A 3x3x2 144 double array
ans 1x3x2 48 double array
Grand total is 24 elements using 192 bytes
求和、乘积和差分数据分析和统计
求和
对例 . 1 中的矩阵 A 进行求和及累计和,其操作如下:
>> TheSum=sum(A), TheCsum=cumsum(A)
TheSum(:,:,1) =
数据分析和统计 6 7 5 TheSum(:,:,2) = 12 14 10
TheCsum(:,:,1) =
1 2 3
3 5 4
6 7 5
TheCsum(:,:,2) =
2 4 6
6 10 8
12 14 10
数据分析和统计
乘积
数据分析和统计差分和梯度
数据分析和统计差分计算很容易,它还可以当作导数的近似值来用。
>> x=[1 4 9 16 25];
>> d1=diff(x),d2=diff(d1),d3=diff(d2) d1 = 3 5 7 9
d2 = 2 2 2 d3 = 0 0
统计命令 平均值、中值和标准差
数据分析和统计
>> A=[1 1;2 2;3 3;4 100];
>> average=mean(A),med=median(A),dev=std(A)
average = 2.5000 26.5000
med = 2.5000 2.5000
dev = 1.2910 49.0068
协方差和相关系数
数据分析和统计假设定义如下向量:
(a) 通过下列命令来求得方差:>> x=[1 1 1];y=[1 2 2];z=[0 -1 1];
>> varx=cov(x), vary=cov(y), varz=cov(z)
varx = 0 vary = 0.3333 varz =1
(b) 协方差为:>> Cvxy=cov(x,y),Cvxz=cov(x,z),Cvyz=cov(y,z)
Cvxy =
0 0
0 0.3333
数据分析和统计Cvxz =
0 0
0 1
Cvyz =
0.3333 0
0 1.0000
排序
数据分析和统计
(a) 执行命令 [ A s c e n d , I n d ] = s o r t ( A ),结果为:
数据分析和统计>> A=[0 4 4;2 0 2;4 2 0]; >> [Ascent,Ind]=sort(A)
Ascent =
0 0 0
2 2 2
4 4 4
Ind =
1 2 3
2 3 2
3 1 1
[B, Ind]=sort(A) 返回矩阵 I n d 和矩阵 B ,矩阵 B 的列为矩阵 A 中按递增排序的列,矩阵 I n d 的每列相对应于上面提到的向量中列 i n d 。
数据分析和统计统计频数直方图和棒图
使用命令 h i s t、 b a r和 s t a i r s,将数据集合以统计频数直方图和棒图显示出来。
数据分析和统计
图表
数据分析和统计假设 x 为:
>> x=[1 1 3 4 5 1 9 8];
>> hist(x);title('Histogram of x use hist')
数据分析和统计(b) 要画出在三个区间内的统计频数直方图,可输入:
>> hist(x,3); title('Histogram of x using hist(x,3)')
数据分析和统计(c) 画棒图可以输入:
>> bar(x); title('bar(x)');
数值
次数
数据分析和统计用命令 s t e m ( x )来画出向量 x 的火柴杆图
如果再定义一个向量:
数据分析和统计
数据分析和统计高级话题—应用举例高级话题—应用举例
在这里,我们从数据库中调出三个地区的气象温度资在这里,我们从数据库中调出三个地区的气象温度资料数据。我们试图对这些数据进行初步的分析和处理,以料数据。我们试图对这些数据进行初步的分析和处理,以得到以下我们想要的图形和数据。得到以下我们想要的图形和数据。• 三个地区的气温变化走势图三个地区的气温变化走势图•三个地区的平均温度以及平均温度的平均值三个地区的平均温度以及平均温度的平均值•三个地区的温度与其平均值的偏差值三个地区的温度与其平均值的偏差值•三个地区每天温度的变化大小三个地区每天温度的变化大小 diffdiff
数据分析和统计创建创建 mm 文件 数据录入文件 数据录入
把直接从数据库中得到的数据复制进把直接从数据库中得到的数据复制进 mm 文件中(要文件中(要用矩阵形式)。并保存为用矩阵形式)。并保存为 temps.mtemps.m
数据分析和统计在命令窗口中输入在命令窗口中输入 » » tempstemps 调用数据调用数据
>> >> d=1:31; d=1:31; % number the days of month% number the days of month
>> >> plot (d, temps), xlable('Day of Month'),ylabel('Celsius'),title('Daily plot (d, temps), xlable('Day of Month'),ylabel('Celsius'),title('Daily High temperature in three cities') High temperature in three cities')
数据分析和统计>> >> avgtemp=mean(temps)avgtemp=mean(temps)
avgtemp = 11.9677 8.2258 19.8710avgtemp = 11.9677 8.2258 19.8710
>> avgavg=mean(avgtemp) avgavg =13.3548>> avgavg=mean(avgtemp) avgavg =13.3548
得到三个地区的平均气温以及平均气温的平均值得到三个地区的平均气温以及平均气温的平均值
>> >> for i=1:3 tdev(:,i)=temps(:,i)-avgtemp(i); endfor i=1:3 tdev(:,i)=temps(:,i)-avgtemp(i); end
运用循环语句得到一个平均气温的(运用循环语句得到一个平均气温的( 3*31)3*31)MatrixMatrix 进行运算进行运算
数据分析和统计
最后用我们学过的 diff 来求每日气温偏差
>> >> dailychange=diff(temps)dailychange=diff(temps)
数据分析和统计
以上例子仅为以上例子仅为 matlabmatlab 在统计计算的冰山一角,有关细节在统计计算的冰山一角,有关细节请参考专业书籍请参考专业书籍
谢谢观看谢谢观看