MATLAB应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB应用第五章MATLAB数值计算
●——MATLAB强大的数值计算能力,使其成为在科学计算方面的首先解题工具。
本章主要内容
●5.1 数据处理与多项式计算
●5.2 数值微积分
●5.3 离散傅里叶变换
●5.4 线性方程组求解
●5.5 非线性方程组求解
●5.6 常微分方程求解
●5.7 稀疏矩阵
5.1 数据处理与多项式计算
●一、数据统计与分析
●二、多项式计算
●三、曲线拟合
●四、数据插值
一、数据统计与分析
●1. 求矩阵最大元素和最小元素
●max
●min
●语法:
C = max(A)
C = max(A,B)
C = max(A,[],dim)
[C,I] = max(...)
●例
求矩阵A的每行及每列的最大和最小元素,并求整个矩阵的最大和最小元素。
●2.求矩阵的平均值和中值
●mean
●median
●语法:
M = mean(A)
M = mean(A,dim)
●3. 矩阵元素求和与求积
●sum
●prod
●语法:
●B = sum(A)
●B = sum(A, dim)
●4. 标准方差
●std
●语法:
s = std(X)
s = std(X,flag)
s = std(X,flag,dim)
●说明:
●对于具有N个元素的数据序列(x1,x2,…,x N),标准方差计算公
式如下:
●或
●其中
●flag取0或1,其取值决定计算标准方差时所使用的公式。
●flag=0,按S1计算;
●flag=1,按S2计算。
●5. 求元素的累加和与累乘积
●cumsum
●cumprod
●语法:
●B = cumsum(A)
●B = cumsum(A,dim)
●参考P142
●6. 相关系数
●corrcoef
●可求出两组数据的相关系数。
●例5.1数据统计函数使用举例
●(1 )某城市的3 个路口24 小时的车流量数据。
>>load count
(2 )P144 例6.5
●7. 元素排序
●sort(x)
●返回一个对X 中的元素按升序排列的新向量。
二、多项式计算
●1.多项式的表示
●2.多项式的四则运算
●3.多项式的导函数
●4.多项式求值
●5.多项式求根
●1.多项式的表示
●在MATLAB 中,n 次多项式用一个长度为n+1 的行向
量表示,缺少的幂次项系数为0.
●如果n 次多项式表示为:
●则在MATLAB中,p(x)表示为向量形式:
●2. 多项式的四则运算
●(1) 多项式的加减运算
●(2) 多项式的乘法运算( 卷积)
●conv(P1,P2 )
●——求多项式P1 ,P2 的乘积
●(3) 多项式除法( 去卷积)
●[Q,r]=deconv(P1,P2)
●——P1 除以P2 ,Q 为商式,r 为余式。
●deconv 是conv 的逆函数,即P1=conv(p2,Q)+r
●例5.2 设a(s)=s2+2s+3,b(s)=4s2+5s+6,则求
c(s)=a(s)*b(s).
●源代码见examp502.m
●2.多项式的导函数
●polyder
●语法:
●p=polyder(P)
▪求多项式P 的导函数
●p=polyder(P,Q)
▪求多项式P·Q 的导函数
●[p,q]=polyder(P,Q)
▪求多项式P/Q 的导函数,导函数的分子存入p ,分母存入q
●3. 多项式求值
●polyval
●代数多项式求值
●polyvalm
●矩阵多项式求值
●语法:
●polyval(P,x)
●polyvalm(P,x)
●例5.3以多项式x4+8x3-10为例,取一个2×2矩阵为
自变量分别用polyval和polyvalm计算该多项式的值。
●见examp503.m
●4. 多项式求根——roots
●roots
●语法:
●x=roots(P)
●若已知多项式的全部根,则可用poly 函数建立多项
式。
●语法:
●P=poly(x)
●例5.4 已知
(1) 计算f(x)=0 的全部根。
(2) 由方程f(x)=0 的根构造一个多项式g(x) ,并与f(x)
进行对比。
源代码见examp504.m
●5. 曲线拟合
●曲线拟合是进行数据分析时经常遇到的问题,它是指
根据一组或多组测量数据找出数学上可以描述此数据走向的一条曲线的过程。评价一条曲线是否准确地描述了测量数据的最通用方法,是看测量数据点与该曲线上对应点之间的平方误差是否达到最小,这种曲线拟合的方法称为最小二乘曲线拟合。
●在MATLAB 中用polyfit 实现