1. 数据统计分析

max 最大值 min 最小值
sum 求和 prod 求积
mean 平均数 median 中值
cumsum 累加 cumprod 乘积
std 标准差 corrcoef 相关系数
sort 排序

1.1 最大值和最小值

  • MATLAB提供了求数据序列最大值的函数max和求最小值的函数min,它们的调用格式和操作过程类似。
    1.求向量的最大值和最小值
    求向量X的最大值的函数有两种调用格式,分别是:
    y=max(X)返回向量X的最大值,并存入y。如果X中包含复数元素,则按模取最大值。
    [y,k]=max(X)返回向量X的最大值,并存入y,最大值的序号存入k。如果X中包含复数元素,则按模取最大值。
    求向量X的最小值的函数是min(X),用法和max(X)相同。

    例如,求向量x的最大值,:

    2.求矩阵的最大值和最小值
    求矩阵A的最大值的函数有3种调用格式,分别是:
    max(A)返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。
    [Y,U]=max(A)返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。
    max(A,[ ],dim)dim取1或2。dim取1时,该函数和max(A)等价;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。
    求矩阵最小值的函数是min,其用法和max函数相同。

    例: 求矩阵A每行及每列的最大值,并求整个矩阵的最大值。

    3.两个向量或矩阵对应元素的比较
    函数max和min还能对两个同型的向量或矩阵进行比较,调用格式为:
    U=max(A,B)A、B是两个同型的向量或矩阵,结果U是与A、B同型的向量或矩阵,U的每个元素等于A、B对应元素的较大者。
    U=max(A,n)n是一个标量,结果U是与A同型的向量或矩阵,U的每个元素等于A对应元素和n中的较大者。
    min函数的用法和max函数相同。

    例,求两个2×3矩阵x、y所有同一位置上的较大元素构成的新矩阵p,以及一个常数与矩阵比较。

1.2 求和与求积

  • 数据序列求和用sum函数。设X是一个向量,A是一个矩阵,sum函数的调用格式为:
    sum(X)返回向量X各元素的和。
    prod(X)返回向量X各元素的乘积。
    sum(A)返回一个行向量,其第i个元素是A的第i列的元素和。
    prod(A)返回一个行向量,其第i个元素是A的第i列的元素乘积。
    sum(A,dim)当dim为1时,该函数等同于sum(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之和。
    prod(A,dim)当dim为1时,该函数等同于prod(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素乘积。 数据序列求积用prod函数,其使用方法与sum函数相同。

    例:求矩阵A的每行元素之和和全部元素之和。

1.3 平均值和中值

  • 数据序列的平均值指的是算术平均值。所谓中值,是指在数据序列中其值的大小恰好处在中间的元素。

  • 求矩阵和向量元素的平均值的函数是mean。设X是一个向量,A是一个矩阵,函数的调用格式为:
    mean(X)返回向量X的算术平均值。
    mean(A)返回一个行向量,其第i个元素是A的第i列的算术平均值。
    mean(A,dim)当dim为1时,该函数等同于mean(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的算术平均值。
    求中值的函数是median,其调用方法和mean函数相同。

    例:求向量x的平均值:

1.4 累加和与累乘积

  • 在MATLAB中,使用cumsumcumprod函数能方便地求得向量和矩阵元素的累加和与累乘积向量,它们的调用格式相同,其中cumsum函数的调用格式为:
    cumsum(X)返回向量X累加和向量。
    cumsum(A)返回一个矩阵,其第i列是A的第i列的累加和向量。
    cumsum(A,dim)当dim为1时,该函数等同于cumsum(A);当dim为2时,返回一个矩阵,其第i行是A的第i行的累加和向量。

    例:求s=1!+2!+…+6!的值。

1.5 标准差与相关系数

  • 求标准差:对于具有n个元素的数据序列x1、x2、x3、…、xn,

  • MATLAB提供了计算数据序列的标准差的函数std。对于向量X,std(X)返回一个标准差。对于矩阵A,std(A)返回一个行向量,它的各个元素便是矩阵A各列或各行的标准方差。std函数的一般调用格式为:
    Y=std(A,flag,dim)其中,dim取1或2。当dim=1时,求各列元素的标准差;当dim=2时,则求各行元素的标准差。flag取0或1,当flag=0时,按S1所列公式计算标准差;当flag=1时,按S2所列公式计算标准差。默认取flag=0,dim=1。

    例:对二维矩阵x,从不同维方向求出其标准方差。

  • 相关系数
    对于两组数据序列xi、yi(i=1,2,…,n),可以由下式计算出两组数据的相关系数:

    corrcoef(X,Y)其中,X、Y是向量。corrcoef(X,Y)返回序列X和序列Y的相关系数,得到的结果是一个2×2矩阵,其中对角线上的元素分别表示X和Y的自相关系数,非对角线上的元素分别表示X与Y的相关系数和Y与X的相关系数,两个是相等的。corrcoef(X,Y)与corrcoef([X,Y])等价。
    corrcoef(X)对于一般的矩阵X,corrcoef(X)返回从矩阵X形成的一个相关系数矩阵。此相关系数矩阵的大小与矩阵X一样。系数矩阵中第i行第j列的元素代表原矩阵X中第i个列向量和第j个列向量的相关系数。

    例:生成满足正态分布的10000×5随机矩阵,然后求各列元素的均值和标准方差,再求这5列随机数据的相关系数矩阵。

1.6 排序

  • 对向量元素进行排序是一个经常性的操作,MATLAB中对向量X进行排序的函数是sort(X),函数返回一个对X中的元素按升序排列的向量。
    sort函数也可以对矩阵A的各列或各行重新排序,其调用格式为:
    [Y,I]=sort(A,dim,mode)其中,Y是排序后的矩阵,而I记录Y中的元素在A中的位置。dim指明对A的列还是行进行排序,若dim=1,则按列排;若dim=2,则按行排。dim默认取1。mode指明按升序还是按降序排序,'ascend'按升序,'descend'按降序。mode默认取'ascend'。

    例:对下列矩阵做各种排序。

2 . 多项式计算

  • 在MATLAB中,n次多项式用一个长度为n+1的行向量表示,缺少的幂次项系数为0。如果n次多项式表示为:
    P(x)=anxn+an-1xn-1+an-2xn-2+…+a1x+a0
    则在MATLAB中,P(x)表达为向量形式:[an,an-1,an-2,…,a1,a0]

  • 2.1 多项式的四则运算
    1.多项式的加减运算
    MATLAB没有提供专门进行多项式加减运算的函数。
    事实上,多项式的加减运算就是其所对应的系数向量的加减运算。对于次数相同的两个多项式,可直接对多项式系数向量进行加减运算。
    如果多项式的次数不同,则应该把低次的多项式系数不足的高次项用0补足,使同式中的各多项式具有相同的次数。

    例:计算(x3-2x2+5x+3)+(6x-1),对于和式的后一个多项式6x-1,它仅为1次多项式,而前面的是3次。为确保两者次数相同,应把后者的系数向量处理成[0,0,6,-1]。
    执行命令:

    2.多项式乘法运算

    • 函数conv(P1,P2)用于求多项式P1和P2的乘积。其中,P1、P2是两个多项式系数向量。

      例:求多项式x4+8x3-10与多项式2x2-x+3的乘积。

    3.多项式除法

  • 函数[Q,r]=deconv(P1,P2)用于对多项式P1和P2作除法运算。其中,Q返回多项式P1除以P2的商式,r返回P1除以P2的余式。这里,Q和r仍是多项式系数向量。
    deconv是conv的逆函数,即有P1=conv(P2,Q)+r

例:求多项式x4+8x3-10除以多项式2x2-x+3的结果。

2.2 多项式的导函数

  • 求多项式的导函数用polyder函数,其调用格式如下。
    ① p=polyder(P):求多项式P的导函数。
    ② p=polyder(P,Q):求P·Q的导函数。
    ③ [p,q]=polyder(P,Q):求P/Q的导函数,导函数的分子存入p,分母存入q。
    上述函数调用中,参数P、Q是多项式的向量表示,结果p、q也是多项式的向量表示。

    例:求有理分式的导数:f(x)=1/x2+5

2.3 多项式的求值

  • MATLAB提供了两种求多项式值的函数:polyvalpolyvalm,它们的输入参数均为多项式系数向量P和自变量x。
    两者的区别在于前者是代数多项式求值,而后者是矩阵多项式求值。

    1.代数多项式求值
    polyval函数用来求代数多项式的值,其调用格式为:
    Y=polyval(P,x)
    若x为一数值,则求多项式在该点的值;若x为向量或矩阵,则对向量或矩阵中的每个元素求其多项式的值。

    例:已知多项式x4+8x3-10,分别取x=1.2和一个2×3矩阵为自变量,计算该多项式的值。

    2.矩阵多项式求值
    polyvalm函数用来求矩阵多项式的值,其调用格式与polyval相同,但含义不同。
    Y=polyvalm(P,x)
    polyvalm函数要求x为方阵,它以方阵为自变量求多项式的值。设A为方阵,P代表多项式x3-5x2+8,那么polyvalm(P,A)的含义是:
    A*A*A-5*A*A+8*eye(size(A))
    而polyval(P,A)的含义是:
    A.*A.*A-5*A.*A+8*ones(size(A))

    例:已知多项式x4+8x3-10,以2×2矩阵为自变量,计算该多项式的值。

2.4 多项式求根

  • n次多项式具有n个根,当然这些根可能是实根,也可能含有若干对共轭复根。MATLAB提供的roots函数用于求多项式的全部根,其调用格式为:
    x=roots(P)
    其中,P为多项式的系数向量,求得的根赋给向量x,即x(1)、x(2)、…、x(n)分别代表多项式的n个根。

    例:求多项式x4+8x3-10的根。

    若已知多项式的全部根,则可以用poly函数建立起该多项式,其调用格式为:
    P=poly(x)
    若x为具有n个元素的向量,则poly(x)建立以x为其根的多项式,且将该多项式的系数赋给向量P。

    例:f(x)=3x5+4x3-5x2-7.2x+5
    ① 计算f(x)=0 的全部根。
    ② 由方程f(x)=0的根构造一个多项式g(x),并与f(x)进行对比。

    数组与符号多项式的转换sym2poly、poly2sym,其调用方法为:
    sym2poly(x^3 +2*x^2- 4*x -9);
    poly2sym([3 5 4]);

3. 数据插值

  • 如果要得到这些离散点以外的其他点的数值,就需要根据这些已知数据进行插值。

  • 根据被插值函数的自变量个数,插值问题分为一维插值、二维插值和多维插值等;根据是用分段直线、多项式或样条函数来作为插值函数,插值问题又分为线性插值、多项式插值和样条插值等。
    MATLAB提供了一维、二维、N维数据插值函数interp1、interp2和interpn,以及3次样条插值函数spline等。

  • 3.1 一维数据插值
    如果被插值函数是一个单变量函数,则数据插值问题称为一维插值。一维插值采用的方法有线性方法、最近方法、3次多项式和3次样条插值。在MATLAB中,实现这些插值的函数是interp1,其调用格式为:
    Y1=interp1(X,Y,X1,method)
    函数根据X、Y的值,计算函数在X1处的值。其中,X、Y是两个等长的已知向量,分别描述采样点和采样值。若同一个采样点有多种采样值,则Y可以为矩阵,Y的每一列对应一组采样。X1是一个向量或标量,描述欲插值的点,Y1是一个与X1等长的插值结果。
    method用于指定插值方法,允许的取值有:
    ① ‘linear’:线性插值。线性插值是默认的插值方法,它是把与插值点靠近的两个数据点用直线连接,然后在直线上选取对应插值点的数据。
    ② ‘nearest’:最近点插值。根据插值点与已知数据点的远近程度进行插值。插值点优先选择较近的数据点进行插值操作。
    ③ ‘pchip’:分段3次Hermite插值。MATLAB中有一个专门的3次Hermite插值函数pchip(X,Y,X1),其功能及使用方法与函数interp1(X,Y,X1,‘pchip’)相同。
    ④ ‘spline’:3次样条插值。所谓3次样条插值,是指在每个分段(子区间)内构造一个3次多项式,使其插值函数除满足插值条件外,还要求在各节点处具有光滑的条件。MATLAB中有一个专门的3次样条插值函数spline(X,Y,X1),其功能及使用方法与函数interp1(X,Y,X1,‘spline’)相同。

    例:给出概率积分的数据表,用不同的插值方法计算f(0.472)。

3.2 二维数据插值

  • 当函数依赖于两个自变量变化时,其采样点就应该是一个由这两个参数组成的一个平面区域,插值函数也是一个二维函数。对依赖于两个参数的函数进行插值的问题称为二维插值问题。同样,在MATLAB中,提供了解决二维插值问题的函数interp2,其调用格式为:
    Z1=interp2(X,Y,Z,X1,Y1,method)
    其中,X、Y是两个向量,分别描述两个参数的采样点,Z是与参数采样点对应的函数值,X1、Y1是两个向量或标量,描述欲插值的点。Z1是根据相应的插值方法得到的插值结果。 method的取值与一维插值函数相同。X、Y、Z也可以是矩阵形式。

    例:设z=x2+y2,对z函数在[0,1]×[0,2]区域内进行插值。

4. 曲线拟合

  • 1.曲线拟合原理
    与数值插值类似,曲线拟合的目的也是用一个较简单的函数去逼近一个复杂的或未知的函数,所依据的条件都是在一个区间或一个区域上的有限个采样点的函数值。
    数值插值要求逼近函数在采样点与被逼近函数相等,但由于实验或测量中的误差,所获得的数据不一定准确。在这种情况下,如果强求逼近函数通过各采样插值点,显然是不够合理的。
    为此,构造函数y=g(x)去逼近f(x),这里不要求曲线g(x)严格通过采样点,但希望g(x)能尽量地靠近这些点,就是使误差δi=g(xi)-f(xi)(i=1,2,…,n)在某种意义下达到最小。
    MATLAB曲线拟合的最优标准是采用常见的最小二乘原理 ,即使得拟合多项式在各节点处的偏差平方和达到最小。

  • 2.曲线拟合的实现
    在MATLAB中,用polyfit函数来求得最小二乘拟合多项式的系数,再用polyval函数按所得的多项式计算所给出的点上的函数近似值。
    polyfit函数的调用格式为:
    P=polyfit(X,Y,m)
    [P,S]=polyfit(X,Y,m)
    [P,S,mu]=polyfit(X,Y,m)
    函数根据采样点X和采样点函数值Y,产生一个m次多项式P及其在采样点的误差向量S。其中,X、Y是两个等长的向量,P是一个长度为m+1的向量,P的元素为多项式系数。mu是一个二元向量,mu(1)是mean(X),而mu(2)是std(X)。
    可以用polyval函数按所得的多项式计算X各点上多项式的值。

    例: 用一个3次多项式在区间[0,2π]内逼近函数。在给定区间上,均匀地选择50个采样点,并计算采样点的函数值,然后利用3次多项式逼近。

    下面利用绘图的方法将多项式p(x)和sinx进行比较:

Matlab数据分析与计算相关推荐

  1. Matlab数据分析与计算,进程线程面试题总结

    ③ mean(A,dim):当dim为1时,该函数等同于mean(A):当dim为2时,返回一个列向量,其第i个元素是A的第i行的算术平均值. 求中值的函数是median,其调用方法和mean函数相同 ...

  2. Matlab数据分析与计算,互联网java工程师面试题pdf

    求向量X的最大值的函数有两种调用格式,分别是: ① y=max(X):返回向量X的最大值,并存入y.如果X中包含复数元素,则按模取最大值. ② [y,k]=max(X):返回向量X的最大值,并存入y, ...

  3. matlab多项式计算题目,MATLAB数据分析与多项式计算-习题答案

    <MATLAB数据分析与多项式计算-习题答案>由会员分享,可在线阅读,更多相关<MATLAB数据分析与多项式计算-习题答案(4页珍藏版)>请在人人文库网上搜索. 1.第6章 M ...

  4. matlab离散型数据求和,MATLAB程序设计教程(6)---MATLAB数据分析与多项式计算

    第6章 MATLAB数据分析与多项式计算 6.1 数据统计处理 6.2 数据插值 6.3 曲线拟合 6.4 离散傅立叶变换 6.5 多项式计算 6.1 数据统计处理 6.1.1 最大值和最小值 MAT ...

  5. MATLAB 数据分析方法(第2版)1.2 MATLAB基础概述

    1.2 MATLAB基础概述 1.2.1 MATLAB的影响 MATLAB源于Matrix Laboratory,即矩阵实验室,是由美国Mathworks公司发布的主要面对科学计算.数据可视化.系统仿 ...

  6. MATLAB数据分析(插值运算和曲线拟合)

    MATLAB数据分析(插值运算和曲线拟合) MATLAB数据分析 在数学研究和工程应用中,我们常常需要对某些环节进行反复的测验或测试,以获取更多的数据支持最优决策,但是由于环境条件的限制,我们往往只能 ...

  7. MATLAB 数据分析方法(第2版)2.1 基本统计量与数据可视化

    第2章 数据描述性分析 数据描述性分析是从样本数据出发,概括分析数据的集中位置.分散程度.相互关联关系以及数据分布的正态或偏态特征等.它是进行数据分析的基础,对不同类型量纲的数据有时还要进行变换,然后 ...

  8. matlab与科学计算 王沫然,MATLAB与科学计算(第3版) 王沫然著 电子工业出版社 9787121180521...

    商品描述: 基本信息 书名:MATLAB与科学计算(第3版) 定价:49.80元 作者:王沫然 编著 出版社:电子工业出版社 出版日期:2012-10-01 ISBN:9787121180521 字数 ...

  9. matlab附合导线坐标计算,MATLAB语言及测绘数据处理应用

    MATLAB语言及测绘数据处理应用 出版时间:2012年版 丛编项:普通高等院校测绘课程系列规划教材 内容简介 <普通高等院校测绘课程系列规划教材:MATLAB语言及测绘数据处理应用>以M ...

最新文章

  1. 1.2 数学符号-深度学习第五课《序列模型》-Stanford吴恩达教授
  2. linux文件夹做链接,linux为什么不能给目录做硬链接
  3. Ubuntu上,如何成功的安装pygrib
  4. SSL Library Compare
  5. 使用OTDR进行双向光纤测试
  6. 《麦肯锡方法》读书笔记16
  7. 反射修改jsessionid实现Session共享
  8. 计算机组成原理慕课网三四章测试题
  9. 一种全景视频的主观质量评价方法(译)
  10. linux学习笔记:06-ubuntu中挂载U盘
  11. centos系统添加桌面图标
  12. 一些GIS地图的基础知识
  13. GitOps | 一种云原生的持续交付模型
  14. mac 制作ubuntu 启动u盘
  15. 心知天气API如何调用与json数据如何显示
  16. 如何在没有密码的情况下解锁 iPhone
  17. c语言图形学三角形平移,MFC怎么对所画几何图形进行旋转、填充、放缩???(急用)【...
  18. 织梦CMS如何搬家并成功连接数据库
  19. 2016BIT小学期——电话号码问题(哈希+位运算)
  20. 【r语言plot报错】Error in plot.window(...) : ‘xlim‘值不能是无限的/ need finite ‘xlim’ values

热门文章

  1. 【蓝桥软件学院】论MyBatis日志
  2. Build path specifies execution environment J2SE
  3. 五金机电行业经销商协同管理系统解决方案
  4. 万能遥控器小制作(一)
  5. Freemarker 导出word
  6. mongodb安装配置启动
  7. 樱花动漫中的视频下载数据表分析
  8. oracle 自连接层次查询,使用自连接查询居然比直接查询效率高很多,何解?
  9. 西门子S7-200模拟量编程
  10. 基于npm的bcrypt加密详解