基础及其应用教程复习.ppt

上传人:小飞机 文档编号:6263911 上传时间:2023-10-11 格式:PPT 页数:61 大小:866KB
返回 下载 相关 举报
基础及其应用教程复习.ppt_第1页
第1页 / 共61页
基础及其应用教程复习.ppt_第2页
第2页 / 共61页
基础及其应用教程复习.ppt_第3页
第3页 / 共61页
基础及其应用教程复习.ppt_第4页
第4页 / 共61页
基础及其应用教程复习.ppt_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《基础及其应用教程复习.ppt》由会员分享,可在线阅读,更多相关《基础及其应用教程复习.ppt(61页珍藏版)》请在三一办公上搜索。

1、Matlab基础及其应用教程复习,第三章 MATLAB数值运算,3.1 多项式3.2 插值和拟合 3.3 数值微积分 3.4 线性方程组的数值解,3.1 多 项 式,3.1.1 多项式的表达和创建多项式的四则运算多项式的四则运算包括多项式的加、减、乘、除运算。Polyadd函数。,多项式的四则运算法则,相加:polyadd(a,b);a,b为多项式相减:polyadd(a,-b);相乘:c=conv(a,b);其中a,b 代表两个多项式的系数向量,函数conv 也可以嵌套使用,如conv(conv(a,b),c)。相除:q,r=deconv(a,b),其中q为整除的多项式,r为余数多项式。,例

2、3.2 调用polyadd函数来完成两个不同阶次多项式:的相加运算。m=1 2;n=1 4 7;s=polyadd(m,n)s=1 5 9,,,例3.4完成两个同阶次多项的相乘运算。,a=1 2 3 4;b=1 4 9 16;e=conv(a,b)e=1 6 20 50 75 84 64,【例 3.3】完成两个同阶次多项式:的相减运算。a=1 2 3 4;b=1 4 9 16;d=polyadd(a,-b)d=0-2-6-12,例3.7 求商多项式及余多项式。,p1=conv(1,0,1,conv(1,2,1,1);%计算分子多项式 p2=1 0 1 1;%注意缺项补零 q,r=deconv(

3、p1,p2),q=1 3r=0 0 2-1-1即表示商多项式为s+3,余多项式为。,多项式求值和求根运算,多项式求值y=polyval(p,x)利用 polyval 函数找出 在 s=3 处的值:p=1 2-12-1 7;z=polyval(p,3)z=312.多项式求根x=roots(P),求多项式 的根并验证。p=1-3 2;roots(p)ans=21 polyval(p,2),polyval(p,1)ans=0ans=0,3.2 插 值 和 拟 合,插值和拟合 的概念。插值:构造一个简单函数P(x)作为f(x)的近似,然后通过处理P(x)获得关于f(x)的结果,要求近似函数P(x)取给

4、定的离散数据,则P(x)为f(x)的插值函数。拟合:根据N个给定的点求一条近似曲线,所求的近似曲线并不要求通过所有给定的点,只要求函数能够反映数据的基本变化趋势。,1多项式插值函数:yi=interp1(x,y,xi,method)其中x和y是原已知数据的x、y值,xi是要内插的数据点,method是插值方法。插值方法有:nearest,linear,spline,cubic。其中nearest为寻找最近数据节点,由其得出函数值;linear为线性插值;spline为样条插值函数,在数据节点处光滑,即左导等于右导;cubic为三次方程式插值。,例3.16:取余弦曲线上11个点的自变量和函数值点

5、作为已知数据,再选取41个自变量点,分别用分段线性插值、三次方程式插值和样条插值三种方法计算确定插值函数的值。,x=0:10;y=cos(x);xi=0:.25:10;y0=cos(xi);%精确值 y1=interp1(x,y,xi);%线性插值结果 y2=interp1(x,y,xi,cubic);%三次方程式插值结果 y3=interp1(x,y,xi,spline);%样条插值结果 plot(xi,y0,o,xi,y1,xi,y2,-.,xi,y3)subplot(3,1,1);plot(xi,y1-y0);grid on subplot(3,1,2);plot(xi,y2-y0);g

6、rid on subplot(3,1,3);plot(xi,y3-y0);grid on3 种插值方法比较如图3.1 所示,将3 种插值结果分别减去直接由函数计算的值,得到其误差如图3.2 所示。从图3.2 可以看出,样条插值和三次方程式插值效果较好,而分段线性插值则较差。,图3.1 3 种插值方法比较图,图3.2 3 种插值方法的误差,2多项式拟合函数:p=polyfit(x,y,n)p,s=polyfit(x,y,n)其中x,y为已知的数据组,n为要拟合的多项式的阶次,向量p为返回的要拟合的多项式的系数,向量s为调用函数polyval获得的错误预估计值。一般来说,多项式拟合中阶数n越大,拟

7、合的精度就越高。,例3.18:对向量X=-2.8-1 0.2 2.1 5.2 6.8和Y=3.1 4.6 2.3 1.2 2.3-1.1分别进行阶数为3、4、5的多项式拟合,并画出图形进行比较。x=-2.8-1 0.2 2.1 5.2 6.8;y=3.1 4.6 2.3 1.2 2.3-1.1;p3=polyfit(x,y,3);%用不同阶数的多项式拟合x 和y p4=polyfit(x,y,4);p5=polyfit(x,y,5);xcurve=-3.5:0.1:7.2;%生成x 值 p3curve=polyval(p3,xcurve);%计算在这些x 点的多项式值 p4curve=poly

8、val(p4,xcurve);p5curve=polyval(p5,xcurve);plot(xcurve,p3curve,-,xcurve,p4curve,-.,xcurve,p5curve,-,x,y,*);,3.3.2 牛顿-科茨系列数值积分公式,考虑一个积分式的数学式,其中 a,b 分别为这个积分式的上限及下限,f(x)为要积分的函数。不论在实际问题中的意义如何,该积分在数值上都等于曲线y=f(x),直线x=a、x=b 与x 轴所围成的曲边梯形的面积。因此,不管f(x)以什么形式给出,只要近似地计算出相应的曲边梯形的面积,就得到了所给定积分的近似值。求解定积分的数值方法基本思想:将整个

9、积分区间a,b分成n 个子区间 其中 这样求定积分问题就分解为求和问题。,MATLAB 提供了在有限区间内,数值计算某函数积分的函数,它们分别是cumsum(矩形积分),trapz(梯形积分),quad(辛普森积分),quadl(科茨积分,也称高精度数值积分)。,3.4 线性方程组的数值解,3.4.1 直接法1.矩阵相除法在MATLAB 中,线性方程组AX=B 的直接解法是用矩阵除来完成的,即X=AB。若A 为m n的矩阵,当m=n且 A可逆时,给出唯一解;当n m时,矩阵除给出方程的最小二乘解;当n m时,矩阵除给出方程的最小范数解。,【例3.31】求解下列线性方程组 a=1/2 1/3 1

10、;1 5/3 3;2 4/3 5;%A为33 矩阵,n=m b=1;3;2;c=ab%因为n=m,且A 可逆,给出唯一解c=4 3-2由此得知方程组的解为1 2 3 x=4,x=3,x=2。注意:矩阵B 为列向量。,习题讲解,教材 P102 3.8习题 2、3、5。,练习,1.多项式的四则运算2.插值与拟合。已知:x0=0,1,2,3,4,5,6;y0=0,2.24,2.83,3.00,2.83,2.24,0求(1)在区间0,6上对已知点分别进行线性插值,三次方程组插值。(2)在区间0,6上对已知点分别进行二次拟合,三次拟合,并求出相应的拟合多项式。,第4章 MATLAB符号运算,4.1 符号

11、对象及其表达方式 4.2 符号算术运算 4.3 独立变量与表达式化简 4.4 符号微积分运算 4.5 方程的解析解,4.1 符号对象及其表达方式,符号对象是对参与符号运算的各种形式量的一个统称。包括符号常量、符号变量、符号表达式和符号矩阵或数组.,定义符号变量可以有两种方法:(1)使用sym()函数:sym(x)(2)使用syms命令syms arg1 arg2.例:sym(x)%定义符号变量xsyms a b csyms m n real,4.1.2 符号表达式,【例4.4】构造符号表达式。syms x y z r s t;x2+2*x+1ans=x2+2*x+1 exp(y)+exp(z)

12、2ans=exp(y)+exp(z)2,例4.5构造符号矩阵 S=sym(l,x,y,z;n,u,v,w;a,b,c,d;g,h,j,p)H=sym(cos(t),-sin(t);sin(t),cos(t)例4.6 用sym()函数将数值矩阵转换成符号矩阵。先建立一个数值矩阵,例如:M=1.1,1.2,1.3;2.1,2.2,2.3;3.1,3.2,3.3再通过sym命令可直接将数值矩阵转换为符号矩阵,例如:S=sym(M),4.2 符号算术运算,4.2.1 符号对象的加减 A+B、A-B 例4.9 求两个符号表达式的和与差syms x fx gx%定义符号变量于符号表达式fx=2*x2+3*

13、x-5gx=x2-x+7fx+gxfx-gx4.2.2 符号对象的乘除 A*B、A/B可分别用来求A和B两个符号矩阵的乘法与除法。A.*B则用来实现两个符号数组的乘法。其中矩阵除法也可用来求解符号线性方程组的解。,例4.10已知多项式 求两个多项式的积和商。syms x fx gxfx=3*x5-x4+2*x3+x2+3gx=1/3*x3+x2-3*x-1fx*gxexpand(fx*gx)%展开积的符号表达式fx/gxexpand(fx/gx)%展开商的符号表达式,4.3 表达式化简,MATLAB提供了化简和美化符号表达式的各种函数,具体有:合并同类项(collect)、多项式展开(expa

14、nd)、因式分解(factor)、一般化简(simplify)、不定化简(simple)、通分(numden)和书写格式美化(pretty)。,4.4 符号微积分运算,4.4.1 符号极限 求解极限limit()函数4.4.2 符号微分diff()函数可用来求解符号对象的微分4.4.3 符号积分MATLAB提供的符号函数积分int()的函数,既可以计算不定积分又可以计算定积分、广义积分,习题讲解,教材P154 习题1、4、7、12,练习,1.符号算术运算2.符号表达式的化简3.符号微积分运算,第5章 MALAB数据可视化,5.1 二维图形创建图形窗口 figure2.关闭与清除图形窗口以clo

15、se命令关闭图形窗口,其调用方式有:(1)close:关闭当前图形窗口,等效于close(gcf);(2)close(h):关闭图形句柄h指定的图形窗口;(3)close all:关闭除隐含图形句柄的所有图形窗口;清除当前图形窗口中使用如下命令:(1)clf:清除当前图形窗口所有可见的图形对象。,5.1.2 基本二维图形绘制,在MATLAB中,主要的二维绘图函数如下:(1)plot(x,y):x轴和y轴均为线性刻度;(2)plotyy:绘制双纵坐标图形。,例5.1 用plot函数画出sin(x2)在x0,5之间的图形。x=0:0.05:5;%x坐标从0到5y=sin(x.2);%对应的y坐标p

16、lot(x,y);%绘制图形输出图形如图5.2所示。,函数plotyy 可以绘制两条具有不同纵坐标的曲线,调用格式为plotyy(x1,y1,x2,y2),例5.3,x=0:pi/180:2*pi;y1=exp(-0.3*x).*cos(2*x);y2=10*exp(-1.5*x);plotyy(x,y1,x,y2)输出图形如图 所示。,具有不同纵坐标的图形,5.1.3 其他类型的二维图,在MATLAB中,还有其他的绘图函数,可以绘制不同类型的二维图形,以满足不同的要求.表5.1列出了这些绘图函数。表5.1 其他绘图函数,例5.4画极坐标图示例。t=0:.01:2*pi;%极坐标的角度.fig

17、urepolar(t,abs(cos(2*t);输出图形如图5.5所示。,5.1.4 色彩和线型,在MATLAB中为区别画在同一窗口中的多条曲线,可以改变曲线的颜色和线型等图形属性,plot函数可以接受字符串输入变量,这些字符串输入变量用来指定不同的颜色和线型。,表5.2 plot绘图函数的常用参数,例5.8 绘制两条不同颜色,不同线型的曲线。x=0:0.05:20;y1=0.2+sin(-2*x);%曲线y1y2=sin(x.0.5);%曲线y2figure plot(x,y1,g+,x,y2,r-);%曲线y1用绿色加号线型表示,曲线y2用红色虚线表示输出图形如图5.9所示。,5.1.5

18、坐标轴及标注,MATLAB在绘图时会根据数据的分布范围自动选择坐标轴的刻度范围,ATLAB同时提供了函数axis指定坐标轴的刻度范围其调用格式为:axis(xmin,xmax,ymin,ymax)函数中 xmin,xmax,ymin,ymax分别表示x轴的起点、终点,y轴的起点、终点。,MATLAB还提供了一些图形的标注命令(见表5.3),可以对每个坐标轴单独进行标注,在图形的任意位置上放置文本以注解图形,还可以加上网格线以确定曲线上某一点的坐标值,还可以用hold on/off 实现保持原有图形或刷新原有图形。,表5.3 常用图形标注命令,例5.9 图形标注示例。x=0:0.05:5;fig

19、urey1=exp(0.4.x)-1.5;y2=sin(x*4);plot(x,y1,x,y2,r-.)%曲线y2用红色点划线表示.line(0,5,0,0)%在(0,0)和(5,0)之间画直线,代替横坐标.xlabel(Input);ylabel(Output);%x轴标注Input,y轴标注Outputtitle(Two Function);%图形标题Two Functionlegend(y1=exp(0.4.x)-1.5,y2=sin(x*4)%注解图形.grid on%显示网格线输出图形如图5.11所示。,例5.10子图绘制示例。x=linspace(0,2*pi,100);%x轴从0

20、2取100点subplot(2,2,1);plot(x,sin(x);%视窗的第一行第一列画sin(x),xlabel(x);ylabel(y);title(sin(x)%x轴加注解x,y轴加注解y,加标题sin(x)subplot(2,2,2);plot(x,cos(x);xlabel(x);ylabel(y);title(cos(x);subplot(2,2,3);plot(x,exp(x);xlabel(x);ylabel(y);title(exp(x);subplot(2,2,4);plot(x,exp(-x);xlabel(x);ylabel(y);title(exp(-x);输出图

21、形如图5.13所示。,5.2 三维图形,5.2.1 三维曲线图,用函数plot3可以绘制三维图形,其调用格式有:(1)plot3(X1,Y1,Z1,.):X1、Y1、Z1为向量或矩阵,表示图形的三维坐标。该函数可以在同一图形窗口一次画出多条三维曲线,X1,Y1,Z1,.Xn,Yn,Zn指定各条曲线的三维坐标;(2)plot3(X1,Y1,Z1,LineSpec,.):以LineSpec指定的属性绘制三维图形;,例5.11绘制三维曲线示例。t=0:0.05:20;figuresubplot(2,2,1);plot3(sin(t),cos(t),t);%画三维曲线grid,text(0,0,0,0

22、);%在x=0,y=0,z=0处标记”0”title(Three Dimension);xlabel(sin(t),ylabel(cos(t),zlabel(t);subplot(2,2,2);plot(sin(t),t);%三维曲线在x-z平面的投影gridtitle(x-z plane);xlabel(sin(t),ylabel(t);subplot(2,2,3);plot(cos(t),t);%三维曲线在y-z平面的投影gridtitle(y-z plane);xlabel(cos(t),ylabel(t);subplot(2,2,4);plot(sin(t),cos(t);%三维曲线在

23、x-y平面的投影title(x-y plane);xlabel(sin(t),ylabel(cos(t);grid输出图形如图5.14所示。,5.2.2 三维曲面图,可用surf、surfc函数来绘制三维曲面图,调用格式如下:(1)surf(Z):以矩阵Z指定的参数创建一渐变的三维曲面,坐标x=1:n,y=1:m,其中m,n=size(Z),进一步在x-y平面上形成所谓“格点”矩阵X,Y=meshgrid(x,y),Z为函数z=f(x,y)在自变量采样“格点”上的函数值,Z=f(X,Y)。Z既指定了曲面的颜色,也指定了曲面的高度,所以渐变的颜色可以和高度适配。所谓“格点”如图所示。,三维曲面与

24、格点,(2)surf(X,Y,Z):以Z确定的曲面高度和颜色,按照X、Y形成的“格点”矩阵,创建一渐变的三维曲面。X、Y可以为向量或矩阵,若X、Y为向量,则必须满足m=size(X),n=size(Y),m,n=size(Z)。,例5.12 绘制球体的三维图形。figureX,Y,Z=sphere(30);%计算球体的三维坐标surf(X,Y,Z);%绘制球体的三维图形xlabel(x),ylabel(y),zlabel(z);title(SURF OF SPHERE)输出图形如图5.16所示。,2标准三维曲面,(1)用sphere 函数绘制三维球面,调用格式为x,y,z=sphere(n)产

25、生(n+1)(n+1)矩阵x,y,z,采用这3 个矩阵绘制圆心位于原点,半径为1 的球体。n决定球面的光滑程度,默认值为20。(2)用cylinder 函数绘制三维柱面,调用格式为x,y,z=cylinder(R,n)R 是一个向量,存放柱面各等间隔高度上的半径,n 表示圆柱圆周上有n 个等间隔点,默认值为20。(3)多峰函数peaks,常用于三维函数的演示。函数形式为调用格式为z=peaks(n)生成一个nn 的矩阵z,n 的默认值为48;z=peaks(x,y):根据网格坐标矩阵x,y 计算函数值矩阵z。,【例5.15】绘制三维标准曲面。t=0:pi/20:2*pi;x,y,z=spher

26、e;subplot(1,3,1);surf(x,y,z);xlabel(x),ylabel(y),zlabel(z);title(球面)x,y,z=cylinder(2+sin(2*t),30);subplot(1,3,2);surf(x,y,z);xlabel(x),ylabel(y),zlabel(z);title(柱面)x,y,z=peaks(20);subplot(1,3,3);surf(x,y,z);xlabel(x),ylabel(y),zlabel(z);title(多峰);,图5.20 三维标准曲面,输出图形如图5.20 所示。因柱面函数的R 选项2+sin(2*t),所以绘制

27、的柱面是一个正弦型的。,5.4函数绘图,一元函数绘图,利用符号函数,我们可以通过ezplot函数绘制任意一元函数,其调用格式为:(1)ezplot(f):按照x的缺省取值范围(-2*pix2*pi)在绘制f=f(x)的图形。对于f=f(x,y),x、y的缺省取值范围:-2*pi x 2*pi,、-2*pi y2*p,绘制f(x,y)=0的图形;(2)ezplot(f,min,max):按照x的指定取值范围(minxmax)绘制函数f=f(x)的图形。对于f=f(x,y),ezplot(f,xmin,xmax,ymin,ymax),按照x、y的指定取值范围(xminxxmax,yminyymax

28、),绘制f(x,y)=0的图形;(3)ezplot(x,y):按照t的缺省取值范围(0t2*pi)绘制函数x=x(t)、y=y(t)的图形;(4)ezplot(f,xmin,xmax,ymin,ymax):按照指定的x、y取值范围(xminxxmax,yminyymax)在图形窗口绘制函数f=f(x,y)的图形;(5)ezplot(x,y,tmin,tmax):按照t的指定取值范围(tminttmax)在绘制函数x=x(t)、y=y(t)的图形;,例5.22 一元函数绘图示例。f=x.2+y.2-16;ezplot(f)输出图形如图5.29所示。,例5.23 一元函数绘图示例。x=3*t*si

29、n(t);y=t*cos(t);ezplot(x,y,0,8*pi)输出图形如图5.30所示。,5.4.2 二元函数绘图,对于二元函数z=f(x,y),同样可以借用符号函数提供的ezmesh函数绘制各类图形;也可以用meshgrid函数获得矩阵z,或者用循环语句for(或while)计算矩阵z的元素,然后用5.3节介绍的函数绘制二元函数图。,1.ezmesh函数该函数的调用格式如下:(1)ezmesh(f):按照x、y的缺省取值范围(-2*pix2*pi,-2*piy2*pi)绘制函数f(x,y)的图形;(2)ezmesh(f,domain):按照domain指定的取值范围绘制函数f(x,y)

30、的图形,domain 可以是41的向量:xmin,xmax,ymin,ymax;也可以是21的向量:min,max,此时,minxmax,min y max。(3)ezmesh(x,y,z):按照s、t的缺省取值范围(-2*pi s2*pi,-2*pi t2*pi)绘制函数x=x(s,t)、y=y(s,t)和z=z(s,t)的图形;(4)ezmesh(x,y,z,smin,smax,tmin,tmax)或 ezmesh(x,y,z,min,max):按照指定的取值范围smin,smax,tmin,tmax或min,max绘制函数f(x,y)的图形。(5)ezmesh(.,n):调用ezmesh

31、绘制图形时,同时绘制nn的网格,n=60(缺省值)。(6)ezmesh(.,circ):调用ezmesh绘制图形时,以指定区域的中心绘制图形。,例5.24 二元函数绘图示例。syms x,y;f=sqrt(1-x2-y2);ezmesh(f)输出图形如图7.31所示。,例5.25 二元函数绘图示例。syms x y z s t;x=s*cos(t);y=s*sin(t);z=t;ezmesh(x,y,z,0,pi,0,5*pi)输出图形如图5.32所示。,习题讲解,作业1:教材P212 习题1、2、3、4作业2:教材P212 习题5、6实验三 MATLAB数据可视化,练习,1.二维、三维图形绘制2.一元、二元函数绘制,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号