MATLAB 语 言 数据处理方法_第1页
MATLAB 语 言 数据处理方法_第2页
MATLAB 语 言 数据处理方法_第3页
MATLAB 语 言 数据处理方法_第4页
MATLAB 语 言 数据处理方法_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022/7/20数据处理方法MATLAB 语 言MATLAB Language2022/7/201、求最大值max - Largest elements in array, The command form for function calling: Y= max(X) 将max(X)返回矩阵X的各列中的最大元素值赋予行向量Y;当X为向量时,则Y为单变量。 Y,I= max(X) 将max(X)返回矩阵X的各列中的最大元素值及其该元素的位置赋予行向量Y与I;当X为向量时,则Y与I为单变量。Y,I=max(X,DIM) 按数组X的第DIM维的方向查取其最大的元素值及其该元素的位置赋予向量Y与I

2、。DIM=1(默认值)返回各列的最大值为行数组,DIM=2返回各行的最大值为列数组。一、基本统计处理2022/7/20【例1】查找下面数列x的最大值。x=3 5 9 6 1 8 % 产生数列xx = 3 5 9 6 1 8y=max(x) % 查出数列x中的最大值赋予yy = 9y,l=max(x) % 查出数列x中的最大值及其该元素的位置赋予y, ly = 9l = 3一、基本统计处理2022/7/20【例2】分别查找下面34的二维数组x中各列和各行元素中的最大值。x=1 8 4 2;9 6 2 5;3 6 7 1 % 产生二维数组 xx = 1 8 4 2 9 6 2 5 3 6 7 1y

3、=max(x) % 查出二维数组x中各列元素的最大值产生赋予行向量 yy = 9 8 7 5一、基本统计处理2022/7/20y,l=max(x) % 查出二维数组x中各列元素的最大值及其这些 元素的行标分别赋予y, ly = 9 8 7 5l = 2 1 3 2y,l=max(x, ,1) % 执行结果与上述命令完全相同y = 9 8 7 5l = 2 1 3 2y,l=max(x, ,2) % 参数DIM=2, 查找操作在各行中进行y = 8 9 7l = 2 1 3一、基本统计处理2022/7/20【例3】试取下面两个23的二维数组x、y所有同一位置上的元素值大者构成一个新矩阵p。x=4

4、 5 6; 1 4 8 % 产生二维数组xx = 4 5 6 1 4 8y=1 7 5; 4 5 7 % 产生二维数组yy = 1 7 5 4 5 7p=max(x,y) % 在x,y同一位置上的两个元素中查找出最大值赋予与x,y同样大小的二维数组pp = 4 7 6 4 5 8一、基本统计处理2022/7/202、求最小值 min函数用来查取数据序列的最小值。它的用法和命令格式与max函数完全一样,所不同的是执行的结果是最小值。调用格式: min(X) min(X,DIM) Y=min(X,DIM) Y,I=min(X,DIM)一、基本统计处理2022/7/203、求中位数所谓中位数,是指在

5、数据序列中其值大小恰好在中间。例如数据序列9,-2, 5, 7, 12的中位数为7 。将数据序列从小到大排序为 x(1),x(2),x(N), 则当N为奇数时中位数为x(N+1)/2),即中间一项; 而当N为偶数时中位数为(x(N/2)+x(N/2+1)/2,即中间的两项之平均值。一、基本统计处理2022/7/203、求中位数 median - Median value of array. The command form for function calling: Y=median(X) 返回矩阵X各列元素的中位数赋给行向量Y。若X为向量,则Y为单变量。 Y=median(X,DIM) 按数

6、组X的第DIM维方向的元素求其中值赋予向量Y。若DIM=1,为按列操作;若DIM=2,为按行操作。若X为二维数组,Y为一个向量;若X为一维数组,则Y为单变量。一、基本统计处理2022/7/20【例4】试分别求下面数列x1与x2的中位数。x1=9 -2 5 7 12; % 奇数个元素y1=median(x)y1 = 7x2=9 -2 5 6 7 12; % 偶数个元素y2=median(x)y2 = 6.5000一、基本统计处理2022/7/20【例5】对下面二维数组x,试从不同维方向求出其中值。x=1 8 4 2;9 6 2 5;3 6 7 1 % 产生一个二维数组xx = 1 8 4 2 9

7、 6 2 5 3 6 7 1y0=median(x) % 按列操作y0 = 3 6 4 2y1=median(x,1) % DIM=1,按列操作,结果y1为行向量y1 = 3 6 4 2y2=median(x,2) % DIM=2,按行操作, 结果y2为列向量y2 = 3.0000 5.5000 4.5000一、基本统计处理2022/7/204、求和 命令格式有: Y=sum(X) 返回矩阵X各列元素之和赋予行向量Y;若X为向量,则Y为单变量。 Y=sum(X,DIM) 按数组X的第DIM维方向的元素求其和赋予Y。若DIM=1,为按列操作;若DIM=2,为按行操作。若X为二维数组,Y为一个向量

8、;若X为一维数组,则Y为单变量。一、基本统计处理2022/7/20例如:x=4 5 6;1 4 8x = 4 5 6 1 4 8y=sum(x,1) % y=sum(sum(x) 得到所有元素的总和y = 5 9 14y=sum(x,2)y = 15 13一、基本统计处理2022/7/205、求平均值 MEAN函数调用的命令格式有: Y= mean(X) 返回矩阵X各列元素之平均值并赋予行向量Y。若X为向量,则Y为单变量。 Y= mean(X,DIM) 按数组X的第DIM维方向的元素求其平均并值赋予向量Y。DIM=1时按列操作;DIM=2时按行操作。若X为二维数组,则Y为一个向量;若X为一维数

9、组,则Y为单变量。一、基本统计处理2022/7/20例如:x=4 5 6;1 4 8;y1= mean(x,1) %x的各列元素的均值y1 = 2.5000 4.5000 7.0000y2= mean(x,2) %x的各行元素的均值y2 = 5.0000 4.3333一、基本统计处理2022/7/206、求积 命令格式有: Y= prod(X) 返回矩阵X各列元素之积并赋予行向量Y。若X为向量,则Y为单变量。 Y= prod(X,DIM) 按数组X的第DIM维方向的元素求其积并赋予向量Y。DIM=1时按列操作;DIM=2时按行操作。若X为二维数组,则Y为一个向量;若X为一维数组,则Y为单变量。

10、一、基本统计处理2022/7/20例如:x=4 5 6; 1 4 8;y1= prod(x,1)y1 = 4 20 48y2= prod(x,2)y2 = 120 32一、基本统计处理2022/7/207、求累计和、累积积、均值和标准差等Cumsum(A) returns the cumulative sum of A starting at the beginning of the first array dimension in A whose size does not equal 1. If A is a vector, then cumsum(A) returns a vector

11、containing the cumulative sum of the elements of A. If A is a matrix, then cumsum(A) returns a matrix containing the cumulative sums for each column of A. If A is a multidimensional array, then cumsum(A) acts along the first nonsingleton dimension.一、基本统计处理2022/7/207、求累计和、累积积、均值和标准差等Cumsum(A) 返回A的累积和

12、,在其长度大于1的第1维方向上按标号由小到大开始累积。如果A是一个向量,cumsum(A)返回一个向量,其第m个元素是A中第1至m个元素的累加和。如果A是一个矩阵,cumsum(A)返回一个和A同行同列的矩阵,其第i行第j列元素是A中第j列的第1至i行所有元素的累加和。如果A是一个多维数组,cumsum(A)只对A中第一个非奇异维进行计算。一、基本统计处理2022/7/207、求累计和、累积积、均值和标准差等A=1 2; 3 4; 5 6B=cumsum(A) A = 1 2 3 4 5 6B = 1 2 4 6 9 12一、基本统计处理A=1 2 3 4D=cumsum(A) E=cumsu

13、m(A)A = 1 2 3 4D = 1 3 6 10E = 1 3 6 102022/7/207、求累计和、累积积、均值和标准差等MATLAB提供的求累积积的函数cumprod类似于求累计和的函数cumsum。另外,均值mean(mean2求全体元素的均值)、方差var、协方差cov、标准差std(std2求全体元素的标准差)、相关系数corrcoef与升序排序函数sort等,仅std函数为MATLAB程序,其余均为内部函数。这些函数调用的参数与操作方式都与median函数基本上相同,不再详细介绍。一、基本统计处理2022/7/207、求累计和、累积积、均值和标准差等一、基本统计处理位置特征

14、MATLAB函数变异特征MATLAB函数算术平均mean极差range中位数median方差var切尾平均trimmean标准差std几何平均geomean四分位极差iqr调和平均harmmean平均绝对偏差mad 设x1, x2, , xn是取自总体X的一个简单随机样本,在MATLAB中有专门的函数分析数据特征,如下表所示. 数据特征2022/7/208、矩统计量一、基本统计处理 在MATLAB中给出了计算矩统计量、峰度、偏度和变异系数的函数命令,如下表所示: 名称n阶中心矩峰度系数偏度系数变异系数命令moment(x,n)kurtosis(x)Skewness(x)Std(x)./abs(

15、mean(x)其中,x为数据,n为阶数,若x为矩阵可得矩阵各列的矩、峰度、偏度和变异系数,注意计算变异系数的公式应为:Std(x)./abs(mean(x)(同维向量应该点除). 偏度系数s等于3阶中心矩与标准差的3次幂的比,用于刻画数据分布的对称性,当s0时称正偏,当s3则表明数据分布有较厚的尾部. 2022/7/20一、基本统计处理 变异系数用于刻画数据的变化大小,不同指标的变异系数常用来计算客观性权重. 【例】 下表给出了15种资产的收益率ri(%)和风险损失率qi(%),计算峰度与偏度. Siri(%)qi(%)Siri(%)qi(%)S19.642S933.653.3S218.554

16、S1036.840S349.460S1111.831S423.942S1295.5S58.11.2S133546S61439S149.45.3S740.768S151523S831.233.42022/7/20一、基本统计处理解:Matlab代码如下:x=9.6,18.5,49.4,23.9,8.1,14,40.7,31.2,33.6,36.8,11.8,9,35,9.4,15;y=42,54,60,42,1.2,39,68,33.4,53.3,40,31,5.5,46,5.3,23;sx=skewness(x)= 0.4624kx=kurtosis(x)= 1.8547 sy=skewnes

17、s(y)= -0.4215ky=kurtosis(y)= 2.2506 从计算结果可知:收益率是正偏,而风险损失率为负偏;二者峰度都小于3属于平阔峰。2022/7/20一、基本统计处理随机变量名称MATLAB密度函数随机变量名称MATLAB密度函数Beta分布betapdf标准正态分布normpdf二项分布binopdf泊松分布poisspdf卡方分布chi2pdf瑞利分布raylpdf指数分布exppdfT分布tpdfF分布fpdf均匀分布unifpdf伽马分布gampdfWeibull分布weibpdf几何分布geopdf非中心F分布ncfpdf超几何分布hygepdf非中心T分布nctp

18、df对数正态分布lognpdf非中心卡方布ncx2pdf 如果将上述命令中的后缀pdf分别改为cdf,inv,rnd,stat 就得到相应的随机变量的分布函数、分位数、随机数的生成以及均值与方差. 9、随机变量与分布2022/7/20一、基本统计处理9、随机变量与分布函数名称函数说明调用格式binocdf二项分布B(n,p)的分布函数F(x)y=binocdf(x,n,p)poisscdf泊松分布P()的分布函数F(x)y=poisscdf(x, )unifcdf均匀分布Ua,b的分布函数F(x)y=unifcdf(x,a,b)expcdf指数分布E() 的分布函数F(x)y=expcdf(x

19、, )normcdf正态分布N(, 2)的分布函数F(x)y=normcdf(x, , )tcdft(n)分布的分布函数F(x)y=tcdf(x,n)fcdfF(n1,n2)分布的分布函数F(x)y=fcdf(x,n1,n2)Chi2cdf2(n)分布的分布函数F(x)y=chi2cdf(x,n)概率分布函数y=F(x)的计算2022/7/20一、基本统计处理9、随机变量与分布函数名称函数说明调用格式binoinv二项分布B(n,p)的上侧分位数x=binoinv(1-,n,p)poissinv泊松分布P()的上侧分位数x=poissinv(1-, )unifinv均匀分布Ua,b的上侧分位数

20、x=unifinv(1-,a,b)expinv指数分布E() 的上侧分位数x=expinv(1-, )norminv正态分布N(, 2)的上侧分位数x=norminv(1-, )tinvt(n)分布的上侧分位数x=tinv(1-,n)finvF(n1,n2)分布的上侧分位数x=finv(1-,n1,n2)Chi2inv2(n)分布的上侧分位数x=chi2inv(1-,n)常见分布的上侧分位数x的计算2022/7/20二、方差分析1. 单因素方差分析 函数anova1()语法:P=anova1(x) P,table=anova1(x) P,table,stats=anova1(x)P=anova

21、1(x) 比较数据x (k) 中各列观测数据相应的总体均值是否相等x中的每一列表示一个水平的n次独立的观测值函数返回零假设成立的(临界)概率值如果P0.05,则拒绝,认为k个均值之间的差异显著;如果P0.01,则认为k个均值之间的差异极显著 Anova1函数显示两幅图表,第一幅为方差分析表,其第六列显示临界概率P第二幅图表为x各列数据的盒形(box)图如果盒形图的中心线差别很大,则对应的F值很大,相应的概率值P就小P,table=anova1(x) 以单元数组的形式返回方差分析表P,table,stats=anova1(x) 返回stats结构,利用stats结构可以接下来进行多重比较2022

22、/7/202. 双因素方差分析 函数anova2() 语法:P=anova2(x,reps) P,table=anova2(x,reps) P,table,stats=anova1(x,reps) P=anova2(x,reps) 进行双因素方差分析其中,参数reps表示重复实验的次数,缺省值为1(无重复)返回参数P是一个3维向量,包含如下3个概率值:(1) 零假设HB:因素B对试验结果无显著影响 成立的概率;(2) 零假设HA:因素A对试验结果无显著影响 成立的概率;(3) 零假设HAB:因素AB对试验结果无显著影响 成立的概率;参数table和stats的含义与函数anova1一致二、方差

23、分析2022/7/203. 多重比较 函数multcompare()语法:c= multcompare(stats) c= multcompare(stats,alpha)c= multcompare(stats) 利用stats结构中的信息进行多重比较,返回成对比较的结果矩阵c,也显示一个表示检验的交互式图表c是一个5列的矩阵例如,假如c中某一行的内容为2.0000 5.0000 1.9442 8.2206 14.4971时,表示组2的均值和组5的均值比较,均值差的估计值为8.2206,其95%的置信区间为(1.9442,14.4971)这里,置信区间中不包含0,说明在0.05的显著水平上,

24、两个均值的差异是显著的如果置信区间包含0,则说明在0.05的显著水平上,两个均值的差异不显著二、方差分析2022/7/20对于多元线性回归模型:y=0+1x1+2x2+pxp+设变量x1, x2, , xp, y的n组观测值为:(xi1, xi2, , xip, yi), i=1, 2, , n记的最小二乘估计值为 ,yi 的估计值为残差三、回归分析2022/7/20在Matlab中,用regress函数进行多元线性回归分析,应用方法如下:语法:b = regress(y, x) b, bint, r, rint, stats = regress(y, x) b, bint, r, rint,

25、 stats = regress(y, x, alpha) b = regress(y, x),得到的 维列向量b即为(1)式给出的回归系数 的估计值 b, bint, r, rint, stats=regress(y, x) 给出回归系数 的估计值b, 的95置信区间( 向量)bint,残差r以及每个残差的95置信区间( 向量)rint;向量stats给出回归的R2统计量和F以及临界概率p的值 如果 的置信区间(bint的第 行)不包含0,则在显著水平为 时拒绝 的假设,认为变量 是显著的 b, bint, r, rint, stats=regress(y, x, alpha) 给出了bin

26、t和rint的100(1-alpha)%的置信区间三、回归分析2022/7/20鉴于MATLAB无零下标,故把多项式的一般形式表达为:其数组表达式为A=a(1), a(2), , a(n), a(n+1)四、 多项式运算及其求根2022/7/201. 多项式求根命令格式:x=roots(A)。这里A为多项式的系数A(1), A(2), , A(N), A(N+1);解得的根赋值给数组X,即X(1), X(2), ,X(N)。【例6】试用roots函数求多项式x4+8x3-10的根这是一个4次多项式,它的五个系数依次为1,8,0,0,-10。下面先产生多项式系数的向量A,然后求根:A=1 8 0

27、 0 -10A = 1 8 0 0 -10 x=roots(A)x = -8.0194 -0.5075 + 0.9736i -0.5075 - 0.9736i 1.0344 四、 多项式运算及其求根2022/7/202. 多项式的建立若已知多项式的全部根,则可以用poly函数建立起该多项式;也可以用poly函数求矩阵的特征多项式。poly函数是一个MATLAB程序,调用它的命令格式是:A=poly(x)若x为具有N个元素的向量,则poly(x)建立以x为其根的多项式,且将该多项式的系数赋值给向量A。在此种情况下,poly与roots互为逆函数;若x为NN的矩阵x,则poly(x)返回一个向量赋

28、值给A,该向量的元素为矩阵x的特征多项式之系数:A(1),A(2),A(N),A(N+1)。四、 多项式运算及其求根2022/7/20【例7】试用poly函数对例6所求得的根,建立相应的多项式。x=-8.0194 -0.5075 + 0.9736i -0.5075 - 0.9736i 1.0344;z=poly(x)z = 1.0000 8.0000 0.0000 0.0000 -9.9996四、 多项式运算及其求根2022/7/203. 求多项式的值 Polyval函数用来求代数多项式的值,调用的命令格式为: Y=polyval(A,x) 本命令返回多项式在x处的值并赋值给Y。若x为一数值,

29、则Y也为一数值;若x为向量或矩阵,则对向量或矩阵中的每个元素求其多项式的值。四、 多项式运算及其求根2022/7/20【例8】以例6的4次多项式、分别取x=1.2和下面的矩阵的23个元素为自变量计算该多项式的值。A=1 8 0 0 -10; % 例6的4次多项式系数x=1.2; % 取自变量为一数值y1=polyval(A,x)y1 = -97.3043x=-1 1.2 -1.4; 2 -1.8 1.6 % 给出一个矩阵xx = -1.0000 1.2000 -1.4000 2.0000 -1.8000 1.6000y2=polyval(A,x)y2 = -17.0000 5.8976 -28.1104 70.0000 -46.1584 29.3216四、 多项式运算及其求根2022/7/204. 多项式的四则运算(1)多项式加、减对于次数相同的若干个多项式,可直接对多项式系数向量进行加、减的运算。如果多项式的次数不同,则应该把低次的多项式系数不足的高次项用零补足,使同式中的各多项式具有相同的次数。四、 多项式运算及其求根2022/7/20(2)多项式乘法若A、B是由多项式系数组成的向量,则CONV函数将返回这两个多项式的乘积。调用它的命令格式为:C=conv(A,B)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论