matlab教学ppt第四章.ppt

上传人:wuy****n92 文档编号:80450775 上传时间:2023-03-23 格式:PPT 页数:44 大小:550KB
返回 下载 相关 举报
matlab教学ppt第四章.ppt_第1页
第1页 / 共44页
matlab教学ppt第四章.ppt_第2页
第2页 / 共44页
点击查看更多>>
资源描述

《matlab教学ppt第四章.ppt》由会员分享,可在线阅读,更多相关《matlab教学ppt第四章.ppt(44页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 第四章、数值计算杨惠-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、分为两类:(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.255

3、7;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、多项式乘法运

4、算 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)

5、杨惠-matlab语言及应用-第四章 4.3 多项式计算4、多项式的根R=roots(P)功能:计算多 项式P的根。P=1 -6 -72 -27 ;R=roots(P)4.3 多项式计算5.有理多项式的部分分式展开: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、矩阵的

6、相关计算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)

7、;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)拟

8、合:寻找一条“平滑”曲线来最好的表现带噪声的“测量数据”。但并不要求拟合曲线穿过这些“测量数据”点。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),

9、xlabel(x)4.4 拟合与插值其中:(1)x,y是测量数据对;(2)xs是需要内插的点所构成的向量。(3)method是指所使用的内插方法。ys=interp1(x,y,xs,method);说明:interp1仅是插值指令的一种,还有interp2、interp3等。插值算法:nearest,linear,spline,cubic4.4 拟合与插值1)最邻近插值方法(nearest)插值点的值与其最邻近的点的函数值相等。*4.4 拟合与插值 2)线性插值方法(linear)插值点的值在前,后两个数据点所构成的直线上。*4.4 拟合与插值 3)三次样条插值方法(spline)利用一系列样

10、条函数获得内插数据点,从而确定已有数据点之间的函数。4)三次曲线内插方法(cubic)构造三次曲线函数来拟合已知数据x、y,从而确定内插点的值。4.4 拟合与插值说明:1、四种插值方法中,x中的数据是单调但不一定距均匀的。2、若已知x为均匀的,则在method前加*,可使执行速度加快。3、按nearest linear cubic spline的顺序,对内存要求 从小到大,执行速度由快到慢,平滑度由差到好。给出概率积分 的数据如下表所示:x0.460.470.480.49f(x)0.48465550.49375420.50274980.5116683x=0.46:0.01:0.49;f=0.4

11、846555 0.4937542 0.5027498 0.5116683;format longinterp1(x,f,0.472)interp1(x,f,0.472,nearest)interp1(x,f,0.472,spline)interp1(x,f,0.472,cubic)format short4.5 matlab的泛函指令主要内容:1、数值积分2、解微分方程 在matlab中,凡是以“函数”为输入宗量的指令,都被统称为matlab的泛函指令。q=quad(fun,a,b)q=quadl(fun,a,b)t,y=ode45(fun,tspan,y0)被处理“函数”fun可以有三种形式

12、:(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函数文件dyd

13、t.mfunction 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)杨惠-

14、matlab语言及应用-第四章 4.6 符号计算1、符号对象和符号表达式2、符号微积分4.6 符号计算、符号表达式的生成规定:(1)在定义符号运算时,首先要定义基本的符号对象,然后 用这些基本符号对象去构成新的表达式,进而从事所需 的符号运算。(2)在运算中,凡是包含符号对象的表达式所生成的衍生对 象也都是符号对象。生成方式:指令 sym、syms4.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*

15、b+c*cw=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,a22DA=det(A)IA=inv(A)EA=eig(A)4.6 符号计算建立符号表达式

16、: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+64.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

17、的定积分 说明:当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)

18、零点初始猜测值向函数fun传递的参数P1=0.1;P2=0.5;y_C=sin(x).2.*exp(-P1*x)-P2*abs(x);x=-10:0.01:10;Y=eval(y_C);plot(x,Y,r);hold onplot(x,zeros(size(x),k);xlabel(t);ylabel(y(t)hold off zoom on tt,yy=ginput(5);zoom off ttt4,y4,exitflag=fzero(y_C,tt(4),P1,P2)%(2)作图法观察函数零点分布x=-10:0.01:10;%对自变量采样,采样步长不宜太大。Y=eval(y_C);%在采样

19、点上计算函数plot(x,Y,r);hold on,plot(x,zeros(size(x),k);xlabel(t);ylabel(y(t),hold off%(3)利用zoom和ginput指令获得零点的初始近似值 zoom on%在MATLAB指令窗中运行,获局部放大图tt,yy=ginput(5);zoom off%在MATLAB指令窗中运行,用鼠标获零点猜测值。tt%(4)求靠近tt(4)的精确零点t4,y4,exitflag=fzero(y_C,tt(4),P1,P2)%(1)使用字符串表示被处理函数P1=0.1;P2=0.5;%按泛函指令要求,这里参数必须用P1,P2表示y_C=sin(x).2.*exp(-P1*x)-P2*abs(x);%这里自变量必须用x表示

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com