资源描述:
《第六章_MATLAB数据分析ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章MATLAB数据分析6.1数据统计处理6.2数据插值6.3曲线拟合6.4离散傅立叶变换6.1.1最大值和最小值MATLAB提供的求数据序列的最大值和最小值的函数分别为max和min,两个函数的调用格式和操作过程类似。1.求向量的最大值和最小值求一个向量X的最大值的函数有两种调用格式,分别是:y=max(X):返回向量X的最大值存入y,如:X中包含复数元素,则按模取最大值。(2)[y,I]=max(X):返回向量X的最大值存入y,最大值的序号存入I,如果X中包含复数元素,则按模取最大值。6.1数据统计处理例:求向量x的最大值。命令如下:x=[-43,72,9,15,23
2、,47];y=max(x)%求向量x中的最大值[y,l]=max(x)%求向量x中的最大值及其该元素的位置例:产生一个10个随机数的行向量,然后编制程序利用max或min函数来进行由小到大的排序clear,clc,A=10*rand(1,10)fori=1:length(A)[y,u]=max(A);B(i)=y;A(u)=[];end2.求矩阵的最大值和最小值求矩阵A的最大值的函数有3种调用格式,分别是:(1)max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。(2)[Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每
3、列最大值的行号。(3)max(A,[],dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。Dim=1Dim=28978793.两个向量或矩阵对应元素的比较函数max和min还能对两个同型的向量或矩阵进行比较,调用格式为:(1)U=max(A,B):A,B是两个同型的向量或矩阵,结果U是与A,B同型的向量或矩阵,U的每个元素等于A,B对应元素的较大者。(2)U=max(A,n):n是一个标量,结果U是与A同型的向量或矩阵,U的每个元素等于A对应元素和n中的较大者。6.1.2求和与求
4、积sum(X):返回向量X各元素的和。prod(X):返回向量X各元素的乘积。6.1.3平均值和中值mean(X):返回向量X的算术平均值。median(X):返回向量X的中值。6.1.4累加和与累乘积cumsum(X):返回向量X累加和向量。cumprod(X):返回向量X累乘积向量。6.1.5标准方差—试验数据处理求标准方差:在MATLAB中,提供了计算数据序列的标准方差的函数std。std函数的一般调用格式为:Y=std(A,flag,dim)其中dim取1或2。当dim=1时,求各列元素的标准方差;当dim=2时,则求各行元素的标准方差。flag取0或1,当flag
5、=0时,按(1)所列公式计算标准方差,当flag=1时,按(2)所列公式计算标准方差。缺省flag=0,dim=1。生成满足正态分布的10000×5随机矩阵,然后求各列元素的均值和标准方差。6.1.6排序MATLAB中对向量X是排序函数是sort(X),函数返回一个对X中的元素按升序排列的新向量。sort函数也可以对矩阵A的各列或各行重新排序,其调用格式为:[Y,I]=sort(A,dim)其中dim指明对A的列还是行进行排序。若dim=1,则按列排;若dim=2,则按行排。Y是排序后的矩阵,而I记录Y中的元素在A中位置。生成一个1*100的随机序列,并用sort进行排序5
6、.2数据插值6.2.1一维数据插值在MATLAB中,实现这些插值的函数是interp1,其调用格式为:Y1=interp1(X,Y,X1,'method')函数根据X,Y的值,计算函数在X1处的值。X,Y是两个等长的已知向量,分别描述采样点和样本值,X1是一个向量或标量,描述欲插值的点,Y1是一个与X1等长的插值结果。method是插值方法,有‘linear’、‘nearest’、‘cubic’、‘spline’。linear,线性插值,较快有足够精度,常作为缺省设置;cubic,三次多项式插值,较慢精度高,平滑性好,作平滑用。spline,三次样条插值,最慢精度高,最平滑
7、;nearst,最近邻插值,最快,精度低,不平滑。例:某观测站测得某日6:00时至18:00时之间每隔2小时的室内外温度(℃),用3次样条插值分别求得该日室内外6:30至17:30时之间每隔20分钟各点的近似温度(℃)。设时间变量h为一行向量,温度变量t为一个两列矩阵,其中第一列存放室内温度,第二列储存室外温度。命令如下:h=6:2:18;t=[18,20,22,25,30,28,24;15,19,24,28,34,32,30]';XI=6.5:0.2:17.5;YI=interp1(h,t,XI,'spline'