ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MATlab--数据统计分析

2021-02-27 09:02:07  阅读:191  来源: 互联网

标签:统计分析 函数 -- 多项式 元素 矩阵 插值 MATlab 向量


1 数据统计分析

  1. 求矩阵的最大元素和最小元素
     max():求向量或矩阵的最大元素。
     min():求向量或矩阵的最小元素。

(1)y=max(X):返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值。
(2)[y,k]=max(X):返回向量X的最大值存入y,最大值元素的序号存入k,如果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行上 的最大值

在MATLAB中,求平均值和中值的函数分别为:
 mean():求算术平均值。
 median():求中值

  1. 求和与求积
  2. 累加和与累乘积
     sum():求和函数。
     prod():求积函数。
     cumsum():累加和函数。
     cumprod():累乘积函数。

(1)std(X):计算向量X的标准差。
(2)std(A):计算矩阵A的各列的标准差。

(3)std(A,flag,dim): flag取0或1,当flag=0时,按S1所列公式计算样本标准方差;当flag=1时,按S2所列公式计算总体标准方差。在默
认情况下,flag=0,dim=1。

在这里插入图片描述

排序

排序函数为sort(),其调用格式为:
(1)sort(X):对向量X按升序排列。
(2)[Y,I]=sort(A,dim,mode),
其中dim指明对A的列还是行进行排序。
mode指明按升序还是降序排序,
若取“ascend”,则按升序;
若取“descend”,
则按降序,默认为升序。
输出参数中,Y是排序后的矩阵,而I记录Y中的元素在A中位置

相关系数能够反映两组数据序列之间相互关系,其计算公式为
在这里插入图片描述
corrcoef(),其调用格式为:
(1)corrcoef(A):返回由矩阵A所形成的一个相关系数矩阵,其中,第i行第j
列的元素表示原矩阵A中第i列和第j列的相关系数。
(2)corrcoef(X,Y):在这里,X,Y是向量,它们与corrcoef([X,Y])的作用一
样,用于求X、Y向量之间的相关系数。

2 多项式计算

p(x)表示为向量形式:
在这里插入图片描述
conv(P1,P2):多项式相乘,其中,P1、P2是两个多项式系数向量。

[Q,r]=deconv(P1,P2):多项式相除,其中Q返回多项式P1除以P2的商式,r返 回P1除以P2的余式。这里,Q和r仍是多项式系数向量。deconv是conv的逆函
数,因此有下式成立。
P1=conv(Q,P2)+r

多项式系数向量包含0次项系数,所以其长度为多项式最高次数加1。

3. 多项式的求导
在MATLAB中,多项式求导函数为polyder(),其调用格式为:
(1)p=polyder ( P):求多项式P的导函数。
(2)p=polyder(P,Q):求P×Q的导函数。
(3)[p,q]=polyder(P,Q):求P/Q的导函数,导函数的分子存入p,分母存入q

4. 多项式的求值
 polyval(p,x):代数多项式求值,其中,p为多项式系数向量,x可以
是标量、向量或矩阵。若x为标量,则求多项式在该点的值;若x为向
量或矩阵,则对向量或矩阵中的每个元素求多项式的值。
 polyvalm(p,x):矩阵多项式求值,其调用格式与polyval相同,但含
义不同。polyvalm函数要求x为方阵,以方阵为自变量求多项式的值

5. 多项式的求根
在MATLAB中,多项式求根函数为roots§,其中p为多项式的系数向量。

3 数据插值

从数学上来说,数据插值是一种函数逼近的方法。

在MATLAB中,一维插值函数为interp1(),其调用格式为:
Y1=interp1(X,Y,X1,method)
该语句将根据X、Y的值,计算函数在X1处的值。其中,X、Y是两个等长的已知向量,分别表示采样点和采样值。X1是一个向量或标量,表示要-插值的点

在这里插入图片描述

>> x=[0,3,5,7,9,11,12,13,14,15];
>> y=[0,1.2,1.7,2.0,2.1,2.0,1.8,1.2,1.0,1.6];
>> x1=0:0.1:15;
>> y1=interp1(x,y,x1,'spline');
>> plot(x1,y1)

在这里插入图片描述
method参数用于指定插值方法,常用的取值有以下四种:

  • (1)linear:线性插值,默认方法。将与插值点靠近的两个数据点用直线连接,然后在直线上选取对应插值点的数据。
  • (2)nearest:最近点插值。选择最近样本点的值作为插值数据。
  • (3)pchip:分段3次埃尔米特插值。采用分段三次多项式,除满足插值条 件,还需满足在若干节点处相邻段插值函数的一阶导数相等,使得曲线光 滑的同时,还具有保形性。
  • (4)spline:3次样条插值。每个分段内构造一个三次多项式,使其插值 函数除满足插值条件外,还要求在各节点处具有连续的一阶和二阶导数。
    在这里插入图片描述
    MATLAB中的二维插值函数为interp2(),其调用格式为:
    Z1=interp2(X,Y,Z,X1,Y1,method)

其中,X、Y是两个向量,表示两个参数的采样点,Z是采样点对应的函数值。X1、Y1是两个标量或向量,表示要插值的点。

在这里插入图片描述

>> x=20:10:90;
>> y=(0:5:20)';
>> z=[8.9,10.32,11.3,12.5,13.9,15.3,17.8,21.3;
8.7,10.8,11,12.1,13.2,14.8,16.55,20.8;
8.3,9.65,10.88,12,13.2,14.6,16.4,20.5;
8.1,9.4,10.7,11.9,13.1,14.5,16.2,20.3;
8.1,9.2,10.8,12,13.2,14.8,16.9,20.9];
>> xi=20:90;
>> yi=(0:20)';
>> zi=interp2(x,y,z,xi,yi,'spline');
>> surf(xi,yi,zi)

4 数据插值应用举例

在这里插入图片描述

存在的问题是,d2是v的函数,但是函数关系未知,方程不可解。
下面考虑数据插值方法,以表格中的数据为样本,进行数据插值,计算出与120m的停车视距所对应的速度指标。

编程思路:
第一步:建立速度和停车视距向量。
第二步:以1为单位,对采样区间内所有速度进行插值,计算出相应的停车视距。
第三步:求出停车视距120所对应的速度。
第四步:绘图展示。

 v=20:10:150;
vs=v.*(1000/3600);
d1=10.*vs;
d2=[3.15,7.08,12.59,19.68,28.34,38.57,50.4,63.75,
78.71,95.22,113.29,132.93,154.12,176.87];
d3=10;
d=d1+d2+d3;
vi=20:1:150;
di=interp1(v,d,vi,'spline');

如何根据停车视距120找到对应的速度?

  • 第一步:令代表停车视距的向量di减去120,再取绝对值,得到一个新的向量x。
  • 第二步:将x按升序排列,并记录最小元素的序号,该序号即为停车视距120所对 应的速度数据在向量vi中的序号。
  • 第三步:根据序号取得速度数据
x=abs(di-120);
[y,i]=sort(x);
vi(i(1))
plot(vi,di,vi(i(1)),di(i(1)),'rp')

sort()函数
sort将参量中的元素按升序或降序排列

标签:统计分析,函数,--,多项式,元素,矩阵,插值,MATlab,向量
来源: https://blog.csdn.net/weixin_51552144/article/details/114001955

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有