matlab 实例讲座

26
MATLAB 实实实实 实实实实实 实实实实实实 MATLAB V6.5 实实实实实

Upload: farrah

Post on 23-Jan-2016

111 views

Category:

Documents


0 download

DESCRIPTION

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]; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: MATLAB 实例讲座

MATLAB 实例讲座

数据分析和统计

所有程序都在 MATLAB V6.5 中通过测试

Page 2: MATLAB 实例讲座

数据分析和统计在本章中将介绍 M AT L A B 对数据处理和统计分析的命令。如果没有特别强调,本章中的 A 和 B 是指 m×n×. . .×p的多维矩阵, x 是一个向量。

¥ .1最大值和最小值

Page 3: MATLAB 实例讲座

数据分析和统计例 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

Page 4: MATLAB 实例讲座

求和、乘积和差分数据分析和统计

求和

对例 . 1 中的矩阵 A 进行求和及累计和,其操作如下:

>> TheSum=sum(A), TheCsum=cumsum(A)

TheSum(:,:,1) =

Page 5: MATLAB 实例讲座

数据分析和统计 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

Page 6: MATLAB 实例讲座

数据分析和统计

乘积

Page 7: MATLAB 实例讲座

数据分析和统计差分和梯度

Page 8: MATLAB 实例讲座

数据分析和统计差分计算很容易,它还可以当作导数的近似值来用。

>> 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

统计命令 平均值、中值和标准差

Page 9: MATLAB 实例讲座

数据分析和统计

>> 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

协方差和相关系数

Page 10: MATLAB 实例讲座

数据分析和统计假设定义如下向量:

(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

Page 11: MATLAB 实例讲座

数据分析和统计Cvxz =

0 0

0 1

Cvyz =

0.3333 0

0 1.0000

排序

Page 12: MATLAB 实例讲座

数据分析和统计

(a) 执行命令 [ A s c e n d , I n d ] = s o r t ( A ),结果为:

Page 13: MATLAB 实例讲座

数据分析和统计>> 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 。

Page 14: MATLAB 实例讲座

数据分析和统计统计频数直方图和棒图

使用命令 h i s t、 b a r和 s t a i r s,将数据集合以统计频数直方图和棒图显示出来。

Page 15: MATLAB 实例讲座

数据分析和统计

图表

Page 16: MATLAB 实例讲座

数据分析和统计假设 x 为:

>> x=[1 1 3 4 5 1 9 8];

>> hist(x);title('Histogram of x use hist')

Page 17: MATLAB 实例讲座

数据分析和统计(b) 要画出在三个区间内的统计频数直方图,可输入:

>> hist(x,3); title('Histogram of x using hist(x,3)')

Page 18: MATLAB 实例讲座

数据分析和统计(c) 画棒图可以输入:

>> bar(x); title('bar(x)');

数值

次数

Page 19: MATLAB 实例讲座

数据分析和统计用命令 s t e m ( x )来画出向量 x 的火柴杆图

如果再定义一个向量:

Page 20: MATLAB 实例讲座

数据分析和统计

Page 21: MATLAB 实例讲座

数据分析和统计高级话题—应用举例高级话题—应用举例

在这里,我们从数据库中调出三个地区的气象温度资在这里,我们从数据库中调出三个地区的气象温度资料数据。我们试图对这些数据进行初步的分析和处理,以料数据。我们试图对这些数据进行初步的分析和处理,以得到以下我们想要的图形和数据。得到以下我们想要的图形和数据。• 三个地区的气温变化走势图三个地区的气温变化走势图•三个地区的平均温度以及平均温度的平均值三个地区的平均温度以及平均温度的平均值•三个地区的温度与其平均值的偏差值三个地区的温度与其平均值的偏差值•三个地区每天温度的变化大小三个地区每天温度的变化大小 diffdiff

Page 22: MATLAB 实例讲座

数据分析和统计创建创建 mm 文件 数据录入文件 数据录入

把直接从数据库中得到的数据复制进把直接从数据库中得到的数据复制进 mm 文件中(要文件中(要用矩阵形式)。并保存为用矩阵形式)。并保存为 temps.mtemps.m

Page 23: MATLAB 实例讲座

数据分析和统计在命令窗口中输入在命令窗口中输入 » » 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')

Page 24: MATLAB 实例讲座

数据分析和统计>> >> 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 进行运算进行运算

Page 25: MATLAB 实例讲座

数据分析和统计

最后用我们学过的 diff 来求每日气温偏差

>> >> dailychange=diff(temps)dailychange=diff(temps)

Page 26: MATLAB 实例讲座

数据分析和统计

以上例子仅为以上例子仅为 matlabmatlab 在统计计算的冰山一角,有关细节在统计计算的冰山一角,有关细节请参考专业书籍请参考专业书籍

谢谢观看谢谢观看