Matlab原理与工程应用第二版第五章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Matlab原理与工程应用第二版第五章课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 原理 工程 应用 第二 第五 课件
- 资源描述:
-
1、5.1 创建函数例:x=cos(at)+b y=|x|+c创建一个comxy函数计算,文件名为comxy.mfunctionx,y=comxy(a,t,b,c)x=cos(a*t)+b y=abs(x)+c 大写字母开头5.1.1 函数文件第五章 函数15.1 创建函数例:x=c o s(a t)+b y=|x|+c2functionx,y=comxy(t,a,b,c)%变量名可不一致%x=sin(at)+bx=cos(a*t)+b;y=abs(x)+c;n=3;b=linspace(1,1.4,n);for k=1:3u,v=comxy(0:pi/4:pi,sqrt(1.8/(1+k)3),
2、b(k),1/0.85)end调用程序2 f u n c t i o n x,y =c o m x y(t,a,b,c)334functionx,y=comxy(t)%x=sin(at)+bglobal A B Cx=cos(A*t)+B;y=abs(x)+C;global A B Cn=3;C=1/.85;b=linspace(1,1.4,n);for k=1:n A=sqrt(1.8/(1+k)3);B=b(k);m,n=comxy(0:pi/4:pi)end全局变量的用法,大写,空格(不用逗号)4 f u n c t i o n x,y =c o m x y(t)g l o b a l5
3、functionx,y=comxy(t,a,b,c)%x=sin(at)+bx=cos(a*t)+b;y=abs(x)+c;clear alln=3;b=linspace(1,1.4,n);t=0:pi/4:pi;p=zeros(n,length(t);q=zeros(n,length(t);for k=1:3 p(k,:),q(k,:)=comxy(t,sqrt(1.8/(1+k)3),b(k),1/.85)end5 f u n c t i o n x,y =c o m x y(t,a,b,c)65.2.2 inlinefox=inline(x.2.*cos(a*x)-b,x,a,b)b=f
4、ox(pi/3 pi/3.5,4,1)5.2.3 子函数6 5.2.2 i n l i n e f o x=i n l i n e(x.2.7785.3 用户自定义函数、函数句柄和feval函数句柄是一种引用函数的方法。函数句柄由和函数名构成。feval就是把已知的数据或符号带入到一个定义好的函数句柄中。clcclear allsyms t%定义符号变量f=(x,y)x3+y2k1=feval(f,2,t)%k2=f(2,t)k3=feval(f,1,2)%k4=f(1,2)8 5.3 用户自定义函数、函数句柄和f e v a l 函数句柄是一种95.4 以数组变量为输入参数的MATLAB函数
5、5.4.1 多项式拟合-polyfit/polyval函数polyfit()采用最小二乘法对给定数据进行多项式拟合,其具体使用方法如下:c=polyfit(x,y,n),采用n次多项式p来拟合数据x和y。y(x)=c1xn+c2xn-1+cnx+cn+1 (5.1)求得c后,可以用下列语句求出式5.1y=polyval(c,xnew)9 5.4 以数组变量为输入参数的MA T L A B 函数5.4.1 101 011function nd=datand=50,0.13;70,0.092;90,0.072;110,0.057;130,0.046;150,0.037;170,0.028;190,
6、0.020;210,0.015;230,0.010;250,0.007;ncs=data;c=polyfit(ncs(:,1),ncs(:,2),4);r=input(enter r(0r0.2);su=input(enter su(50su p=1 0 3 12-7%f(x)=x4+3x2+12x-7p=1 0 3 12 -7 roots(p)ans=0.7876+2.4351i 0.7876-2.4351i -2.0872 0.5121 2 2 在MA T L A B 7 语言里,多项式由一个行向量表示,设为p23如果已知某个多项式的根,那么,使用poly函数,可以很轻松地产生其对应的多项
7、式。r=roots(1,-10,35,-50,24)c=poly(r)使用conv函数对多项式进行乘法运算。格式为c=conv(a,b),其中a和b为两个多项式的系数向量,c为相乘所生成的多项式的系数向量。a=1 2 3 4;b=5 6 7 8;c=conv(a,b)2 3 如果已知某个多项式的根,那么,使用p o l y 函数,可以很轻248.1.2 数值积分的实现方法1变步长辛普生法基于变步长辛普生法,MATLAB给出了quad函数来求定积分。该函数的调用格式为:I,n=quad(fname,a,b,tol,trace)其中fname是被积函数名。a和b分别是定积分的下限和上限。tol用来
8、控制积分精度,缺省时取tol=0.001。trace控制是否展现积分过程,若取非0则展现积分过程,取0则不展现,缺省时取trace=0。返回参数I即定积分值,n为被积函数的调用次数。2 4 8.1.2 数值积分的实现方法25求定积分。(1)建立被积函数文件fesin.m。function f=fesin(x)f=exp(-0.5*x).*sin(x+pi/6);(2)调用数值积分函数quad求定积分。S,n=quad(fesin,0,3*pi)%n可省略S=0.9008n=772 5 求定积分。26二重定积分的数值求解使用MATLAB提供的dblquad函数可以求二重定积分的数值解。该函数的调
9、用格式为:I=dblquad(f,a,b,c,d,tol,trace)该函数求f(x,y)在a,bc,d区域上的二重定积分。参数tol,trace的用法与函数quad完全相同。2 6 二重定积分的数值求解27计算二重定积分(1)建立一个函数文件fxy.m:function f=fxy(x,y)global Ki;Ki=Ki+1;%ki用于统计被积函数的调用次数f=exp(-x.2/2).*sin(x.2+y);(2)调用dblquad函数求解。global Ki;Ki=0;I=dblquad(fxy,-2,2,-1,1)Ki2 7 计算二重定积分28常微分方程常微分方程(Ordinary di
10、fferential equations,ODE)n初值问题初值问题-给出初始值给出初始值n边值问题边值问题-给出边界条件给出边界条件与初值常微分方程解算有关的指令与初值常微分方程解算有关的指令ode23 ode45 ode113 ode23tode15s ode23sode23tb2 8 常微分方程(O r d i n a r y d i f f e r e n t i a l 29n常用调用格式:常用调用格式:t,y=ode45(odefun,tspan,y0)t,y=ode45(odefun,tspan,y0)u 参数说明:参数说明:uodefun odefun 表示表示f(t,y)f(
11、t,y)的的函数句柄或函数句柄或inlineinline函数函数,t t是标量,是标量,y y是是标量或向量;标量或向量;utspan tspan 如果是二维向量如果是二维向量t0,tft0,tf,表示自变量初值,表示自变量初值t0t0和和tftf;如;如果是高维向量果是高维向量t0,t1,t0,t1,tn,tn,则表示输出结点列向量;,则表示输出结点列向量;uy0 y0 表示初值向量表示初值向量y0y0;ut t 表示结点列向量表示结点列向量(t0,t1,(t0,t1,tn)T;,tn)T;uy y 表示数值解矩阵,每一列对应表示数值解矩阵,每一列对应y y的一个分量;的一个分量;n完整调用
12、格式:完整调用格式:t,y=ode45(odefun,tspan,y0t,y=ode45(odefun,tspan,y0,options,p1,p2,options,p1,p2,)uoptions options 为计算参数设置(如精度要求等),默认为计算参数设置(如精度要求等),默认表示;表示;up1p1,p2p2,附加传递参数,附加传递参数,odefunodefun表示为表示为f(t,y,p1,p2,f(t,y,p1,p2,)2 9 常用调用格式:t,y =o d e 4 5(o d e f u n,t s30一一.解解ODE的基本机理的基本机理:2.把高阶方程转换成一阶微分方程组把高阶方
13、程转换成一阶微分方程组1.列出微分方程列出微分方程初始条件初始条件令令)0()0(210yyYyyyy21,),(),(),(2121YtfYtfYtfyyY(5.2)(5.3)(5.4),(tyyfy 00)0(,)0(yyyy3 0 一.解O D E 的基本机理:2.把高阶方程转换成一阶微分31例:著名的例:著名的Van der Pol方程方程0)1(2yyyy 令令 yyyy21,降为一阶降为一阶1221221)1(yyyyyyY21yyY初始条件初始条件2010210)0()0(yyyyY3 1 例:著名的V a n d e r P o l 方程令 降为一阶初始条323.根据式根据式(
14、5.3)编写计算导数的编写计算导数的M函数文件函数文件-ODE文件文件把把t,Y作为输入宗量,把作为输入宗量,把 作为输出宗量作为输出宗量Y%M function file name:dYdt.m function Yd=f(t,Y)Yd=f(t,Y)的展开式的展开式例例Van der Pol方程方程%M function file name:dYdt.m function Yd=f(t,Y)Yd=zeros(size(Y);Yd(1)=Y(2);Yd(2)=-(Y(1).2-1)*Y(2)-Y(1);3 2 3.根据式(5.3)编写计算导数的M函数文件-O D E 文334.使编写好的使编写
展开阅读全文