第4章 数值计算_第1页
第4章 数值计算_第2页
第4章 数值计算_第3页
第4章 数值计算_第4页
第4章 数值计算_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、第四章 数值计算 4.1 数值微积分 4.2 矩阵和代数方程 4.3 概率分布和统计分析 4.4 多项式计算 4.1.1 数值微分 MATLAB中,没有直接提供求数值导数的函数,只有 计算向前差分的函数。 DX=diff(X) 计算向量X的向前差分,DX(i)=X(i+1)- X(i),0iZero found in the interval: -4.8, -Zero found in the interval: -4.8, - 4.2.4.2. fzero(fz,1)fzero(fz,1) ans =ans = 0.1926 0.1926 2 2非线性方程组求解非线性方程组求解 函数函数fs

2、olvefsolve调用格式为:调用格式为: X,fval=fsolve(F,X0)X,fval=fsolve(F,X0) 例例4.48 4.48 求方程组在求方程组在(1(1,1 1,1)1)附近的解并对结果进行验证。附近的解并对结果进行验证。 首先建立方程的函数文件首先建立方程的函数文件fxyz1.mfxyz1.m: function F=F(X)function F=F(X) x=X(1);y=X(2);z=X(3);x=X(1);y=X(2);z=X(3); F(1)=sin(x)+y+z2F(1)=sin(x)+y+z2* *exp(x);exp(x); F(2)=x+yF(2)=x

3、+y* *z;z; F(3)=xF(3)=x* *y y* *z;z; 在在MATLABMATLAB命令窗口,输入命令:命令窗口,输入命令: X=fsolve(fxyz1,1,1,1) %X=fsolve(fxyz1,1,1,1) %求解求解X X的三个分量的三个分量x x、y y、z z Y=fxyz1(X) %Y=fxyz1(X) %检验所求结果检验所求结果X X是否满足原方程组是否满足原方程组 norm(Y) %norm(Y) %求求Y Y向量的模向量的模 4.4 4.4 多项式计算多项式计算 1. 多项式的建立 已知一个多项式的全部根X求多项式系数的函数是 poly(X),该函数返回以

4、X为全部根的一个多项式P, 当X是一个长度为m的向量时,P是一个长度为 m+1的向量。 2. 多项式求根 求多项式p(x)的根的函数是roots(P),这里,P是 p(x)的系数向量,该函数返回方程p(x)=0的全部根 (含重根,复根)。 3. 多项式求值 求多项式p(x)在某点或某些点的函数值的函数是 polyval(P,x)。若x为一数值,则求多项式在该点 的值;若x为向量或矩阵,则对向量或矩阵中的每 个元素求其多项式的值。 例例4.334.33 已知一个多项式,计算: (1)计算f(x)=0 的全部根。 (2)由方程f(x)=0的根构造一个多项式g(x),并与f(x) 进行对比。 (3)

5、计算f(5)、f(7.8)、f(9.6)、f(12.3)的值。 命令如下: P=3,0,4,-5,-7.2,5; X=roots(P) %求方程f(x)=0的根 G=poly(X) %求多项式g(x) X0=5,7.8,9.6,12.3; f=polyval(P,X0) %求多项式f(x)在给定点的值 多项式求值还有一个函数是polyvalm,其调用格式与 polyval相同,但含义不同。polyvalm函数要求x为 方阵,它以方阵为自变量求多项式的值。 4. 多项式的四则运算 (1)多项式的加减法 当两个多项式的次数不同时,要在一个较低次幂的多 项式系数向量前补0,使两个系数向量等长。 (2

6、)多项式的乘法 函数conv(P1,P2)用于求多项式P1和P2的乘积。 (3)多项式的除法 函数Q,r=deconv(P1,P2)用于对多项式P1和P2作除 法运算。其中Q返回多项式P1除以P2的商式,r返回P1 除以P2的余式。这里,Q和r仍是多项式系数向量。 deconv是conv的逆函数,即有P1=conv(P2,Q)+r。 例例4.344.34设有两个多项式,计算: (1)求f(x)+g(x)、f(x)-g(x)。 (2)求f(x)g(x)、f(x)/g(x)。 在MATLAB命令窗口,输入命令: f=3,-5,2,-7,5,6;g=3,5,-3;g1=0,0,0,g; f+g1 %

7、求f(x)+g(x) f-g1 %求f(x)-g(x) conv(f,g) %求f(x)*g(x) Q,r=deconv(f,g) %求f(x)/g(x),商式送Q, 余式送r。 4. 多项式的导函数 对多项式求导数的函数是: p=polyder(P) 求多项式P的导函数 p=polyder(P,Q) 求P*Q的导函数 p,q=polyder(P,Q) 求P/Q的导函数, 导函数的分子存入p,分母存入q。 例例4.354.35求有理分式的导数。 命令如下: P=3,5,0,-8,1,-5; Q=10,5,0,0,6,0,0,7,-1,0,-100; p,q=polyder(P,Q) 5 多项式

8、近似 数值插值数值插值 interp1函数调用格式为: Y1=interp1(X,Y,X1,method) 函数根据X、Y的值,计算函数在X1处的值。X、Y 是两个等长的已知向量,分别描述采样点和样本 值,X1是一个向量或标量,描述欲插值的点, Y1是一个与X1等长的插值结果。method是插 值方法,允许的取值有linear(线性插值)、 nearest(最近插值)、spline(三次样条插值)、 cubic(三次多项式插值),缺省值是linear。 例4.29用不同的插值方法计算sin(x)在/2点的值。 这是一个一维插值问题。在MATLAB命令窗口,输入命 令: X=0:0.2:pi;Y

9、=sin(X); %给出X、Y interp1(X,Y,pi/2) %用缺省方法(即线性插值方 法)计算sin(/2) interp1(X,Y,pi/2,nearest) %用最近方法计算 sin(/2) interp1(X,Y,pi/2,linear) %用线性方法计算 sin(/2) interp1(X,Y,pi/2,spline) %用三次样条方法计算 sin(/2) interp1(X,Y,pi/2,cubic) %用三次多项式方法计 算sin(/2) MATLAB中有一个专门的三次样条插值函数 Y1=spline(X,Y,X1),其功能及使用方法与函数 Y1=interp1(X,Y,

10、X1,spline)完全相同。 例4.30 已知检测参数f随时间t的采样结果,用数值插值法计 算t=2,7,12,17,22,17,32,37,42,47,52, 57时f的值。 这是一个一维数值插值问题,命令如下: T=0:5:65; X=2:5:57; F=3.2015,2.2560,879.5,1834.9,2968.8,4136.2,52 37.9,6152.7,. 6724.3,6848.3,6403.5,6824.7,7328.5,7857.6; F1=interp1(T,F,X) %用线性方法插值 F1=interp1(T,F,X,nearest) %用最近方法插值 F1=interp1(T,F,X,spline) %用三次样条方法插值 F1=interp1(T,F,X,cubic) %用三次多项式方法插值 曲线拟合曲线拟合 MATLAB中,提供了解决使用最小二乘法进行曲线 拟合的函数。调用格式为: P,S=polyfit(X,Y,m) 函数根据采样点X和采样点函数值Y,产生一个m次 多项式P及其在采样点的误差向量S。

温馨提示

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

评论

0/150

提交评论