matlab教学ppt第四章.ppt_第1页
matlab教学ppt第四章.ppt_第2页
matlab教学ppt第四章.ppt_第3页
matlab教学ppt第四章.ppt_第4页
matlab教学ppt第四章.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

第四章、数值计算 -matlab语言及应用-第四章 内容提要 1、矩阵的相关计算 2、线性方程组的解 3、多项式和卷积 4、拟合与插值 5、matlab的泛函指令 6、符号计算 -matlab语言及应用-第四章 4.1矩阵的相关计算 Matlab的相关指令: det(A) inv(A) rank(A) d=eig(A) V,D=eig(A) 求矩阵A的行列式 求矩阵A的逆 求矩阵的秩 计算A的特征值,以向量形式存放(d) 计算A的特征向量阵V和特征值对角阵D 例题开讲 计算A的逆矩阵、特征值及特征向量? det(A) inv(A) rank(A) d=eig(A) V,D=eig(A) 4.2 线性方程组的解 关于线性方程组的解法一般可以分为两类 : (2)迭代法:是用某种极限过程去逐渐逼近方程 组精确解的方法,适用于解大型稀疏矩阵方 程组。 (1)直接法:通过矩阵的变形、消去直接得到方 程的解,适用于解低阶稠密矩阵(阶数大约 150)方程组。 1、利用左除运算符的直接解法 2、利用矩阵求逆的方法求解线性方程组 1、jacobi迭代法 2、Gauss-Serdel迭代法 3、超松弛迭代法 4、两步迭代法 4.2 线性方程组的解 在matlab中,线性方程组的直接求解方法:矩阵除法 例:求解下列方程组。 在matlab命令窗中的指令是: a=0.4096 0.2943;0.1784 0.3927; b=0.4043 0.1550 0.4240 -0.2557; X=ab -matlab语言及应用-第四章 求解下列线性方程组:(矩阵求逆法) 在matlab命令窗中的指令是: a=0.4096 0.2943;0.1784 0.3927; b=0.4043 0.1550 0.4240 -0.2557; X=inv(a)*b 4.3 多项式计算 1、多项式的表示: MATALB中,用一个向量来表示多项式。这个 向量中按照降幂的顺序排列多项式的各项系数。 在MATLAB中为:p=1,0,-2,5; 说明:如果多项式 中缺某幂次项,则认 为该项的系数为零。 4.3多项式计算 2、多项式的四则运算: 1、Matlab没有提供专门的多项是加减运算函数。 依靠加减运算符直接完成 2、多项式乘法运算 conv(p1,p2) 3、多项式除法运算 Q,r=deconv(p1,p2) p1=conv(p2,Q)+r 例题开讲例题开讲 -matlab语言及应用-第四章 4.3 多项式计算 3. 多项式值的计算: y=polyval(p,x); y=polyvalm(p,x); 功能:按数组运算规则计算多项式的值。 其中x可以是标量和数组。 功能:按矩阵运算规 则计算多项式的值。 其中x必须为方阵。 例题开讲 P= 2 3 1 ; X= 1 2 3 ; 3 2 1 ; 2 1 3 ; y=polyval ( P , X ) y=polyvalm ( P , X ) y=2*X.*X+3*X+ones(size(X) y=2*X*X+3*X+eye(size(X) -matlab语言及应用-第四章 4.3 多项式计算 4、多项式的根 R=roots(P) 功能:计算多 项式P的根。 P= 1 -6 -72 -27 ; R=roots(P) 4.3 多项式计算 有理多项式的部分分式展开: r,p,k=residue(b,a); 有理多项式有两种表示方法: b,a=residue(r,p,k); 4.3 多项式计算 6. 多项式求导 q=polyder(p); 具体用法: (1)q=polyder(p)可以得到多项式p的导数。 (2) q=polyder(a,b)可以求出多项式a,b之积的导数。 (3)p,q=polyder(b,a)可以求出多项式之比b(s)/a(s)的导数。 1、矩阵的相关计算 2、线性方程组的求解 3、多项式和卷积 Matlab的相关指令: det(A) inv(A) rank(A) d=eig(A) V,D=eig(A) 1、利用左除运算符的直接解法 2、利用矩阵求逆的方法求解线性方程组 Matlab的相关指令: conv(p1,p2) q,r=deconv(p1,p2) y=polyval(p,x) y=polyvalm(p,x) roots(p) r,p,k=residue(b,a) b,a=residue(r,p,k) q=polyder(p) q=polyder(a,b) p,q=polyder(b,a) review 4.3 多项式计算 7. 多项式曲线拟合 p=polyfit(x,y,n); 4.4 拟合与插值 在matlab中实现最小二乘法拟合通常可以采用如下两种途径: (1)利用polyfit函数进行多项式拟合。 (2)利用矩阵除法解决复杂型函数的拟合。 4.4 拟合与插值 p=polyfit(x,y,n ); %给定数据对 x0=0:0.1:1; y0=-.44,1.97,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22; %求拟合多项式系数 n=3; P=polyfit(x0,y0,n) %图示拟合情况 xx=0:0.01:1; yy=polyval(P,xx); plot(xx,yy,-b,x0,y0,.r,MarkerSize,20),xlabel(x) 拟合:寻找一条“平滑”曲线来最好的表现带噪声的“测量数据”。 但并不要求拟合曲线穿过这些“测量数据”点。 4.4 拟合与插值 插值: 是在认定所给“基准数据”完全正确的情况下,研 究如何“平滑”的估算出“基准数据”之间其它点的 函 数值。因此,插值所得曲线一定穿过“基准数据” 。 %给定数据对 x0=0:0.1:1; y0=-.44,1.97,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22; %采用三次多项式进行插值 xi=0:0.02:1; yi=interp1(x0,y0,xi,cubic); %绘图 plot(xi,yi,-b,x0,y0,.r,MarkerSize,20),xlabel(x) 4.4 拟合与插值 其中:(1) x,y是测量数据对; (2) xs是需要内插的点所构成的向量。 (3) method是指所使用的内插方法。 ys=interp1(x,y,xs,method); 说明:interp1仅是 插值指令的一种, 还有interp2 、 interp3等。 插值算法: nearest,linear,spline,cubic 4.4 拟合与插值 1)最邻近插值方法(nearest) 插值点的值与其最邻近的点的函数值相等。 * * * * 4.4 拟合与插值 2)线性插值方法( linear ) 插值点的值在前,后两个数据点所构 成的直线上。 * * * * * 4.4 拟合与插值 3)三次样条插值方法(spline) 利用一系列样条函数获得内插数据点, 从而确定已有数据点之间的函数。 4)三次曲线内插方法(cubic) 构造三次曲线函数来拟合已知数据x、y,从 而确定内插点的值。 4.4 拟合与插值 说明: 1、四种插值方法中,x中的数据是单调但不一定距均匀的。 2、若已知x为均匀的,则在method前加*,可使执行速度加快。 3、按nearest linear cubic spline的顺序,对内存要求 从小到大,执行速度由快到慢,平滑度由差到好。 给出概率积分 的数据如下表所示: x 0.460.470.480.49 f(x) 0.48465550.49375420.50274980.5116683 x=0.46:0.01:0.49; f=0.4846555 0.4937542 0.5027498 0.5116683; format long interp1(x,f,0.472) interp1(x,f,0.472,nearest) interp1(x,f,0.472,spline) interp1(x,f,0.472,cubic) format short 4.5 matlab的泛函指令 主要内容: 1、数值积分 2、解微分方程 在matlab中,凡是以“函数”为输入宗量的指令 ,都被统称为matlab的泛函指令。 q=quad(fun,a,b) q=quadl(fun,a,b) t,y=ode45(fun ,tspan,y0) 被处理“函数”fun可以有三种形式: (1)字符串表达式 (2)内联函数 (3)“M函数文件”的函数句柄 4.5.1 数值积分 例:求以下的定积分。其精确值为0.7468204 %(1)使用字符串表示被处理函数 fun=exp(-x.*x); %(2)调用积分指令求积分值 E1 = quad (fun,0,1) E2 = quadl (fun,0,1) 区别:求数值积分是采取不同的方法 4.5.2 常微分方程求解 例:求下列微分方程在初始条件x(0)=1,dx(0)/dt=0 下的解。 (1)将高阶微分方程改写成一阶微分方程 令y1=x,y2=dx/dt, 于是二阶微分方程可以改写成如下的一阶微分方程组 设u=2 %(2)根据一阶微分方程组编写M函数文件 dydt.m function ydot=dydt(t,y) mu=2; ydot=y(2);mu*(1-y(1)2)*y(2)-y(1); %(3)结算微分方程 tspan=0,30; y0=1;0; tt,yy=ode45(dydt,tspan,y0) tt,yy=ode45(dydt,tspan,y0) 例题开讲 例:微分方程组 当t=0时, x1(0)=1,x2(0)=-0.5,求微分方程在t0,25上的解。 function dx=equationy(t,x) dx=-x(1)+0.5;x(1)-4*x(2); x0=1;-0.5; tspan=0,25; T,X=ode45(equationy,tspan,x0) -matlab语言及应用-第四章 4.6 符号计算 1、符号对象和符号表达式 2、符号微积分 4.6 符号计算 4.6.1、符号表达式的生成 规定: (1)在定义符号运算时,首先要定义基本的符号对象,然后 用这些基本符号对象去构成新的表达式,进而从事所需 的符号运算。 (2)在运算中,凡是包含符号对象的表达式所生成的衍生对 象也都是符号对象。 生成方式: 指令 sym、syms 4.6 符号计算 符号对象的建立: 符号变量名=sym(符号字符串) syms argv1 argv2 argvk 常量、变量、函数 或表达式 例题开讲 例一: a=sym(a); b=sym(b); c=sym(c); x=5; y=-8; z=11; w=a*a+b*b+c*c w=x*x+y*y+z*z例二: syms x h; y=sym(h*2*sin(x)*cos(x) y=simple(y) 按规则把已有的y符号表达式化为最简形式 例二: pi1=sym(pi); k1=sym(8); k2=sym(3); pi2=pi; r1=8; r2=3; sin(pi1/3) sin(pi2/3) sqrt(k1+sqrt(k2) sqrt(r1+sqrt(r2) 例题开讲 例题开讲 例:求以下矩阵的行列式值、逆和特征根。 syms a11 a12 a21 a22; A=a11,a12;a21,a22 DA=det(A) IA=inv(A) EA=eig(A) 4.6 符号计算 建立符号表达式: 1)利用单引号生成 2)用sym函数建立符号表达式 3)使用已经定义的符号变量组成符号表达式 y=1/sqrt(2*x) U=sym(3*x2-5*y+2*x*y+6) syms x y; V=3*x2-5*y+2*x*y+6 4.6 符号计算 4.6.2 符号极限 limit ( F , x , a ) limit (F) 计算符号表达式F在x a条件下的极限值 计算a=0时的极限 syms x a t h ; limit ( sin(x) / x ) limit( (1+2*t/x)(3*x) , x , inf ) 4.6 符号计算 4.6.3 符号积分 intf=int(f,v) intf=int(f,v,a,b) 给出f对指定变量v的不定积分 给出f对指定变量v的定积分 说明:当f是矩阵时,积分将对矩阵中的元素逐个进行。 例:求 syms a b x; f=a*x,b*x2;1/x,sin(x); int(f) %pretty(int(f) 4.6 符号计算 4.6.4 符号微分 f=diff(f,v,n)求 syms a t x; f=a,t3;t*cos(x), log(x); df=diff(f)%求矩阵f对x的导数 dfdt2=diff(f,t,2)%求矩阵f对t的二阶导数 dfdxdt=diff(diff(f,x),t) %求二阶混合导数 例: 4.5.1 求函数的零点 例:求以下函数的零点。 z,f-z,exitflag=fzero(fun ,x0 ,option,p1,p2) 零点初始 猜测值 向函数fun传 递的参数 P1=0.1; P2=0.5; y_C=sin(x).2.*exp(-P1*x)-

温馨提示

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

评论

0/150

提交评论