Matlab微积分问题计算机求解实验课件.ppt

上传人(卖家):晟晟文业 文档编号:4989131 上传时间:2023-01-31 格式:PPT 页数:42 大小:510.50KB
下载 相关 举报
Matlab微积分问题计算机求解实验课件.ppt_第1页
第1页 / 共42页
Matlab微积分问题计算机求解实验课件.ppt_第2页
第2页 / 共42页
Matlab微积分问题计算机求解实验课件.ppt_第3页
第3页 / 共42页
Matlab微积分问题计算机求解实验课件.ppt_第4页
第4页 / 共42页
Matlab微积分问题计算机求解实验课件.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、符号表达式基础操作符号表达式基础操作1符号微积分符号微积分2数值积分数值积分3卫星轨道的长度卫星轨道的长度4国土面积的计算国土面积的计算5u sym 函数用来建立单个符号变量,一般调用格式为:函数用来建立单个符号变量,一般调用格式为:q 符号对象的建立:sym 和 syms符号对象的建立符号对象的建立例:a=sym(a)符号变量=sym(A)参数 A 可以是一个数或数值矩阵,也可以是字符串a 是符号变量b 是符号常量 b=sym(1/3)b=sym(1/3)c 是符号矩阵 c=sym(1 ab;c d)c=sym(1 ab;c d)q 符号对象的建立:sym 和 syms符号对象的建立符号对象

2、的建立u syms 命令用来建立多个符号变量,一般调用格式为:命令用来建立多个符号变量,一般调用格式为:syms 符号变量符号变量1 符号变量符号变量2.符号变量符号变量n 例:syms a b c a=sym(a);a=sym(a);b=sym(b);b=sym(b);c=sym(c);c=sym(c);经常用经常用q 符号表达式的建立:例:建立符号表达式通常有以下2种方法:(1)用 sym 函数直接建立符号表达式。(2)使用已经定义的符号变量组成符号表达式。y=sym(sin(x)+cos(x)y=sym(sin(x)+cos(x)符号表达式的建立符号表达式的建立符号表达式的替换符号表达式

3、的替换subs(f,x,a)用用 a 替换字符函数替换字符函数 f 中的字符变量中的字符变量 x a 是可以是是可以是 数数/数值变量数值变量/表达式表达式 或或 字符变量字符变量/表达式表达式若 x 是一个由多个字符变量组成的数组或矩阵,则 a 应该具有与 x 相同的形状的数组或矩阵。q 用给定的数据替换符号表达式中的指定的符号变量subs subs 举例举例 f=sym(2 f=sym(2*u);u);subs(f,u,2)subs(f,u,2)f2=subs(f,u,u+2)f2=subs(f,u,u+2)a=3;a=3;subs(f2,u,a+2)subs(f2,u,a+2)subs(

4、f2,u,a+2)subs(f2,u,a+2)syms x y syms x y f3=subs(f,u,x+y)f3=subs(f,u,x+y)subs(f3,x,y,1,2)subs(f3,x,y,1,2)ans=4f2=2*(u+2)ans=14ans=2*(a+2)+2)f3=2*x+2*yans=6u 例:指出下面各条语句的输出结果f=2*u下面的命令运行结果会是什么?subs(f3,x,y,x+y,x+y)计算函数值计算函数值练习:练习:3226.3,ln(0.5)(2),(1)xxefxxcalculateff x符号表达式的数值化符号表达式的数值化R=vpa(A)或或 R=vp

5、a(A,d)对符号表达式对符号表达式A求给定精度的值;求给定精度的值;d:输出数值的有效位数:输出数值的有效位数Vpa的默认精度是的默认精度是23位。位。q 对符号求值的命令为vpa,即Variable precision arithmeticdigits(25);p=vpa(pi)w=vpa(1+sqrt(5)/2,4)计算极限计算极限limit(f,x,a):计算计算limit(f,a):当默认变量趋向于当默认变量趋向于 a 时的极限时的极限limit(f):计算计算 a=0 时的极限时的极限limit(f,x,a,right):计算右极限计算右极限limit(f,x,a,left):计算

6、左极限计算左极限lim()xaf x例:计算例:计算 ,hxhxLh)ln()ln(lim0nnnxM1lim syms x h n;syms x h n;L=limit(log(x+h)-log(x)/h,h,0)L=limit(log(x+h)-log(x)/h,h,0)M=limit(1-x/n)n,n,inf)M=limit(1-x/n)n,n,inf)计算导数计算导数g=diff(f,v):求符号表达式:求符号表达式 f 关于关于 v 的导数的导数g=diff(f):求符号表达式:求符号表达式 f 关于默认变量的导数关于默认变量的导数g=diff(f,v,n):求:求 f 关于关于

7、v 的的 n 阶导数阶导数q diff syms x;syms x;f=sin(x)+3 f=sin(x)+3*x2;x2;g=diff(f,x)g=diff(f,x)z=y2 z=y2*sin(x2);sin(x2);dxd2y=diff(diff(z,x,1),y,2)dxd2y=diff(diff(z,x,1),y,2)计算导数计算导数练习:练习:222222222,1(),xyxyxyzxyezzzzxxx yx y 求计算积分计算积分int(f,v,a,b):计算定积分计算定积分int(f,a,b):计算关于默认变量的定积分计算关于默认变量的定积分int(f,v):计算不定积分计算不

8、定积分int(f):计算关于默认变量的不定积分计算关于默认变量的不定积分 syms x;f=(x2+1)/(x2-2 syms x;f=(x2+1)/(x2-2*x+2)2;x+2)2;I=int(f,x)I=int(f,x)K=int(exp(-x2),x,0,inf)K=int(exp(-x2),x,0,inf)()baf v dv()f v dv 例:计算例:计算 和和2221(22)xIdxxx 20 xKedx 计算积分计算积分练习:练习:22(1)220222cos1,221(231)txetedxxdxxx符号求和符号求和 syms n;f=1/n2;syms n;f=1/n2;

9、S=symsum(f,n,1,inf)S=symsum(f,n,1,inf)S100=symsum(f,n,1,100)S100=symsum(f,n,1,100)symsum(u,n,n0,nn):symsum(f,a,b):关于默认变量求和关于默认变量求和0nnnn nu 例:计算级数例:计算级数 及其前及其前100项的部分和项的部分和211nSn 例:计算函数级数例:计算函数级数21nxSn syms n x;f=x/n2;syms n x;f=x/n2;S=symsum(f,n,1,inf)S=symsum(f,n,1,inf)TaylorTaylor级数展开级数展开taylor(f)

10、:求求f在默认自变量在默认自变量=0处的处的5阶阶Taylor级数展开式定积分级数展开式定积分taylor(f,n,x):求求f在默认自变量在默认自变量x=0处的处的n-1阶阶Taylor级数展开式定积分级数展开式定积分taylor(f,n,x,a):求求f在默认自变量在默认自变量x=a处的处的n-1阶阶Taylor级数展开式定积分级数展开式定积分 syms x;syms x;taylor(exp(x),x,7,-1)taylor(exp(x),x,7,-1)上机作业上机作业1.1.2.2.3.3.4.4.5.5.0 01coslim(1 cos)xxxx 222,1(,)ln(),yxyff

11、 x yxx ex y 求22 cos24000(1 cos)sinaddrdr2(1)22112xedx111(1)(1)nnnn x数值积分数值积分函数函数quad()quad()采用递推自适应采用递推自适应SimpsonSimpson法计算积分,精度较高,较常使用。法计算积分,精度较高,较常使用。q=quad(fun,a,b)q=quad(fun,a,b)q=quad(fun,a,b,tol)q=quad(fun,a,b,tol)功能:求一元函数功能:求一元函数funfun的积分,积分上限和下限分别为的积分,积分上限和下限分别为a a和和b b,绝对误差为,绝对误差为toltol,默认时

12、取值,默认时取值10-6 10-6,函数函数funfun是待求解的对象,可以是字符串、内联函数、函数文件名的函数句柄。是待求解的对象,可以是字符串、内联函数、函数文件名的函数句柄。Simpson Formula数值积分数值积分【例】求【例】求exp(-x2)exp(-x2)在在0,10,1上的积分。上的积分。1 1、f=inline(exp(-x.2);f=inline(exp(-x.2);内联函数内联函数 q1=quad(f,0,1)q1=quad(f,0,1)数值积分数值积分【例】求【例】求exp(-x2)exp(-x2)在在0,10,1上的积分。上的积分。2 2、编写被积函数表达式,函数

13、名为、编写被积函数表达式,函数名为quad1.mquad1.mfunction f=quad1(x)function f=quad1(x)f=exp(-x.2);f=exp(-x.2);q2=quad(quad1,0,1)数值积分数值积分【例】求【例】求exp(-x2)exp(-x2)在在0,10,1上的积分。上的积分。3 3、编写被积函数表达式,函数名为、编写被积函数表达式,函数名为f=(x).exp(-x.2);f=(x).exp(-x.2);q2=quad(f,0,1)数值积分数值积分(2)梯形法(被积函数由一个表格定义)梯形法(被积函数由一个表格定义)trapz函数采用梯形法求取数值积

14、分,适用于由表格形式定义的函数关系的求定积分问题,求值速度快,函数采用梯形法求取数值积分,适用于由表格形式定义的函数关系的求定积分问题,求值速度快,但精度差。但精度差。q=trapz(Y)q=trapz(X,Y)其中向量其中向量X,Y定义函数关系定义函数关系Y=f(X)。【例】求【例】求exp(-x2)在在0,1上的积分。上的积分。X=0:0.01:1;Y=exp(-X.2);q=trapz(X,Y)上机作业上机作业取一定数量的点,利用梯形数值积分公式近似计算圆周率取一定数量的点,利用梯形数值积分公式近似计算圆周率pipi12012014141dxxx dx数值积分数值积分(3)二重积分的数值

15、求解二重积分的数值求解 dblquad函数就可以直接求出上述二重定积分的数值解。该函数的调用格式为:函数就可以直接求出上述二重定积分的数值解。该函数的调用格式为:I=dblquad(f,a,b,c,d,tol,trace)功能:该函数求功能:该函数求f(x,y)在在a,bc,d区域上的二重定积分。参数区域上的二重定积分。参数tol,trace的用法与函数的用法与函数quad完全相同。完全相同。trace控制是否展现积分过程,若取非控制是否展现积分过程,若取非0则展现积分过程,取则展现积分过程,取0则不展现,缺省时取则不展现,缺省时取trace=0。数值积分数值积分【例】计算二重定积分【例】计算

16、二重定积分2122212sin()xexy dx dy(1)建立一个函数文件fxy.m:function f=fxy(x,y)f=exp(-x.2/2).*sin(x.2+y);(2)调用dblquad函数求解。I=dblquad(fxy,-2,2,-1,1)f=inline(exp(-x.2/2).*sin(x.2+y)I=dblquad(f,-2,2,-1,1)Fourier级数级数定理 设周期为 的周期函数 f(x)满足收敛定理条件,则它的Fourier级数展开式为:其中系数 为:2Tl01()(cossin)2nnnan xn xf xabll1()cos(0,1,2,)lnln xa

17、f xdxnll1()sin(1,2,3,)lnln xbf xdxnllFourier级数的级数的Matlab程序程序A,B,F=fseries(f,x,n,a,b)其中f为待展开的函数,x为自变量,n为展开项数,a,b为展开区间,省略为-pi,pi,A,B为记录Fourier级数的系数向量F为返回的Fourier级数的展开式Fourier级数的级数的Matlab程序程序具体程序:functionA,B,F=fseries(f,x,n,a,b)if nargin=3 a=-pi;b=pi;end%若输入为3个参数,表示函数f(x)在-pi,pi内进行展开 L=(b-a)/2;Fourier级

18、数的级数的Matlab程序程序 if a+b subs(f,x,x+L+a);end A=int(f,x,-L,L);%f(x)在在-pi,pi内展开内展开 B=;for i=1:n an=int(f*cos(i*pi*x/L),x,-L,L)/L;bn=int(f*sin(i*pi*x/L),x,-L,L)/L;endFourier级数的级数的Matlab程序程序 A=A,an;%记录所有cos前面的系数 B=B,bn;%记录所有sin前面的系数 F=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L);%记录得到的Fourier展开式 Fourier级数的级数的Matla

19、b程序程序例:考虑方波函数例:考虑方波函数f(x)=abs(x)/x,定义域定义域 为为-pi,pi,并且并且x 不等于不等于0。将将f(x)进行进行Fourier展开,具体展开,具体 命令如下:命令如下:syms x;f=abs(x)/x;%给出待展开的函数给出待展开的函数xx=-pi:pi/200:pi;xx=xx(xx=0);xx=sort(xx,-eps,eps);Fourier级数的级数的Matlab程序程序 yy=subs(f,x,xx);%计算f(x)的值 for i=1:20 A,B,F=fseries(f,x,n);y=subs(F,x,xx);subplot(4,5,n);

20、plot(xx,yy);%画出f(x)的图像 hold on plot(xx,y);%画出Fourier级数的图像 endFourier级数的级数的Matlab程序程序 练习:试求出函数y=sin(x)在0,pi/2上的 Fourier 级数展开式。卫星的轨道长度 我国第一颗人造地球卫星近地点我国第一颗人造地球卫星近地点 距地球表面为距地球表面为h=439km,远地点距地球表面,远地点距地球表面H=2384km,地球半径为,地球半径为R=6371km,求该卫星,求该卫星的轨道长度。的轨道长度。问题问题卫星的轨道长度22(2)/2()/2,ahHRcHhbac人造卫星轨道可视为平面上的椭圆,由于

21、地球位于卫星椭圆轨道的一个焦点上,根据近地点距人造卫星轨道可视为平面上的椭圆,由于地球位于卫星椭圆轨道的一个焦点上,根据近地点距离和远地点距离可分别计算出椭圆长半轴、椭圆半焦距、椭圆短半轴为离和远地点距离可分别计算出椭圆长半轴、椭圆半焦距、椭圆短半轴为 222220cos,sin(02),4sincosxat ybttLatbtdt 4.8707e+004国土面积的计算 现要根据瑞士地图计算其国土面积。于现要根据瑞士地图计算其国土面积。于 是对地图作如下的测量:以西向东方向为是对地图作如下的测量:以西向东方向为x轴,由南向北方向为轴,由南向北方向为y轴,选择方便的原点,并将从最轴,选择方便的原

22、点,并将从最西边界到最东边界在西边界到最东边界在x轴上的区间适当地划分为若干段,取足够多的分点轴上的区间适当地划分为若干段,取足够多的分点xi,在每个分点的,在每个分点的y方向测出方向测出南边界点和北边界点的对应坐标南边界点和北边界点的对应坐标y1和坐标和坐标y2,数据如表,数据如表(单位单位mm):根据地图比例知:根据地图比例知18mm相当于相当于40km,试由上表计算瑞士国土的近似面积,试由上表计算瑞士国土的近似面积(精确值为精确值为41822km2)问题问题国土面积的计算x7.010.513.017.534.040.544.548.056.0y1444547505038303034y24

23、459707293100110110110 x61.068.576.580.591.096.0101.0104.0106.5y1363441454643373328y2117118116118118121124121121x111.5118.0123.5136.5142.0146.0150.0157.0158.0y1326555545250666668y2121122116838182868568国土面积的计算02040608010012014016020406080100120140国土面积的计算r 数据处理数据处理Import data 把数据存为矩阵变量把数据存为矩阵变量A利用梯形法数值计算命令利用梯形法数值计算命令trapz计算。参考答案:计算。参考答案:d=4.2414e+004 r可以编写辛普森数值计算公式的程序可以编写辛普森数值计算公式的程序r用拟合的方法求出被积函数,再利用用拟合的方法求出被积函数,再利用MATLAB的命令的命令quad

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Matlab微积分问题计算机求解实验课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|