第5章高等数学计算的MATLAB实现讲稿(推荐)_高等数学的matlab实现

其他范文 时间:2020-02-26 21:59:34 收藏本文下载本文
【www.daodoc.com - 其他范文】

第5章高等数学计算的MATLAB实现讲稿(推荐)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“高等数学的matlab实现”。

第5章 高等数学计算的MATLAB实现

高等数学是大学数学学习的基本内容。利用MATLAB的符号工具箱,可以解决极限、导数、微分、积分、级数和微分方程等方面的问题。

5.1 函数和极限

5.1.1 函数

使用符号表达式,可以进行复合函数运算和反函数运算,下面分别予以介绍。

⒈ 复合函数运算

在MATLAB中,符号表达式的复合函数运算主要是通过函数compose来实现的。compose函数的调用格式如下:

●compose(f,g):返回复合函数f(g(y))。在这里ff(x),gg(y)。其中,x是findsym定义的f函数的符号变量,y是findsym定义的g函数的符号变量。

●compose(f,g,z):返回自变量为z的复合函数f(g(z))。在这里,f=f(x),g=g(y),x,y分别是findsym定义的f函数和g函数的符号变量。

●compose(f,g,x,z):返回复合函数f(g(z)),并且使x成为f函数的独立变量。如:f=cos(x/t),compose(f,g,x,z)返回cos(g(z)/t),而compose(f,g,t,z)返回cos(x/g(z))。

●compose(f,g,x,y,z):返回复合函数f(g(z)),并且使x与y分别成为函数f与g的独立变量。

例5-1 将fx和xtany复合到一个函数中,指定x和y为它们的独立变量,自变量为z。

程序:

syms x y t z;g=tan(y);f=x^t;compose(f,g,x,y,z)%求复合函数 运行结果: ans = tan(z)^t ⒉ 符号表达式的反函数运算 在MATLAB中,符号表达式的反函数运算主要是通过函数finverse来实现的。finverse函数的调用格式如下。

5.2 导数

5.2.1 求函数的导数

在MATLAB中,微分和求导都可以由函数diff实现。diff函数可同时处理数值和符号两种情况下的求导和微分。该函数的调用格式如下所示。

●diff(F):对findsym函数返回独立变量求微分,F为符号表达式。●diff(F,'a'):对a变量求微分,F为符号表达式。

●diff(F,n):对findsym函数返回的独立变量求n次微分,F为符号表达式。●diff(F,'a',n)或diff(F,n,'a'):对变量a求n次微分,F为符号表达式。

(x1)5例5-4 求f(x)的二阶导数。

x1程序: syms x f=(x-1)^5/(x+1);df=diff(f,1);%求导数 d2f=diff(f,2);df=simplify(df)%化简 d2f=simplify(d2f)运行结果: df = 2*(x-1)^4*(2*x+3)/(x+1)^2 d2f = 4*(x-1)^3*(3*x^2+9*x+8)/(x+1)^3 5.2.2 求隐函数的导数

例5-5 求隐函数

1F(x,y)xysiny

2所确定的导数dy。dx程序:

%求隐函数的导数

f=sym('x-y+1/2*sin(y)');fx=diff(f,'x');fy=diff(f,'y');

5.3.1 渐近线

求函数图形的水平渐近线,需要求x趋于无穷时f的极限,即

limit(f,inf)limit(f,-inf)求f的垂直渐近线,使分母等于0,用下面的命令进行求解。roots=solve(denom)%返回方程xx30的解。综合程序: syms x num=3*x^2+6*x-1;denom=x^2+x-3;f=num/denom;a=limit(f,inf);b=double(a);roots=solve(denom);ezplot(f)%符号函数作图命令。

hold on%在原有的图形上面叠加图形。plot([-2*pi 2*pi],[b b], 'g')%绘水平渐近线

plot(double(roots(1))*[1 1],[-5 10], 'r')%绘垂直渐近线 plot(double(roots(2))*[1 1],[-5 10], 'r')%绘垂直渐近线 title('水平渐近线和垂直渐近线')hold off%取消图形叠加 运行结果见图5-1。5.3.2 极值

23x26x1从图5-1可以看出,函数f(x)至少有2个极值点,求解

x2x3程序:

syms x num=3*x^2+6*x-1;denom=x^2+x-3;f=num/denom;a=limit(f,inf);b=double(a);roots=solve(denom);ezplot(f)%符号函数作图命令。

hold on%在原有的图形上面叠加图形。plot([-2*pi 2*pi],[b b], 'g')%绘水平渐近线

图5-2 表示函数的渐近线和极值

5.3.3 拐点

求函数的拐点,需要先求函数的2阶导数,后面的处理方法与求极值方法相似。

5.4 不定积分和定积分

MATLAB中,用符号工具箱的int函数求函数的不定积分和定积分。int函数的调用格式如下所示。

●int(F):对findsym函数返回独立变量求不定积分,F为符号表达式。

●int(F,v):对v变量求不定积分,F为符号表达式。

●int(F,a,b):对findsym函数返回独立变量求从a到b的定积分,F为符号表达式。

●int(F,v,a,b):对v变量求从a到b的定积分,F为符号表达式。

5.4.4 定积分的应用

例5-11 计算由两条抛物线y2x,yx2所围成的图形的面积。程序:

%求曲线的交点

[x1,y1]=solve('y^2=x','y=x^2');x1=double(x1);y1=double(y1);n=numel(x1);%下面寻找实数解 m=1;x0=[];y0=[];for k=1:n

if isreal(x1(k))&&isreal(x1(k))

x0(m)=x1(k);y0(m)=y1(k);

m=m+1;

end end x0=sort(x0);y0=sort(y0);%排序 %下面计算定积分 syms x f=sqrt(x)-x^2;A=int(f,x,x0(1),x0(2))运行结果: A = 1/3 x2y2例5-12 计算由椭圆221所围成的图形绕x轴旋转而成的旋转ab体的体积。

V程序:

syms a b x f=pi*b*b*(a*a-x*x)/a/a;V=int(f,x,-a,a)运行结果: V = 4/3*pi*b^2*a 例5-13 计算由曲线yaab2a2(a2x2)dx

23/2x上相应于x从a到b的一段弧的长度。3-9

0d =

-3 f =

-1 g =

-3 例5-16 已知三点M(1,1,1)、A(2,2,1)和B(2,1,2),求AMB。程序:

M=[1 1 1];A=[2 2 1];B=[2 1 2];ma=A-M;mb=B-M;c=dot(ma,mb)/sqrt(dot(ma,ma))/sqrt(dot(mb,mb));amb=acos(c)运行结果: amb =

1.0472 例5-17 已知三角形ABC的顶点是A(1,2,3)、B(3,4,5)和C(2,4,7)求三角形ABC的面积。

程序:

A=[1 2 3];B=[3 4 5];C=[2 4 7];ab=B-A;ac=C-A;S=sqrt(dot(cro(ab,ac),cro(ab,ac)))/2 运行结果: S =

3.7417 5.5.2 曲面及其方程

利用MATLAB提供的绘图函数,可以绘制给定函数的曲面。相关内容在前面已介绍过,请参见4.2.4小节。

5.6 多元函数的极限和求导

对于函数有多个变量的情况,求极限和导数时需要指定函数对哪个变量进行求取。在MATLAB中仍然使用limit和diff函数求多元函数的极限和导数。5.6.1 求多元函数的极限

例5-18 求极限limsin(xy)sin(x)。

y0y-11●symsum(s):求符号表达式s相对于符号变量k的和,k由findsym函数确定,取值从0到k-1。

●symsum(s,v):求符号表达式s相对于符号变量v的和,v从0到v-1。●symsum(s,a,b)和symsum(s,v,a,b):指定符号表达式s从v=a累加到v=b。

1例5-21 求级数k、2和xk(x1)。

i0k1kk0n1程序:

syms x k n s1=symsum(n)s2=symsum(1/k^2,1,inf)s3=symsum(x^k,k,0,inf)运行结果: s1 = 1/2*n^2-1/2*n s2 = 1/6*pi^2 s3 =-1/(x-1)5.7.2 泰勒级数展开

用taylor函数进行泰勒级数展开。该函数的调用格式如下:

●taylor(f,n,v):返回f的n-1阶马克劳林多项式近似。f为表示函数的符号表达式,v指定表达式中的独立变量。v可以是字符串或符号变量。

●taylor(f,n,v,a):返回f关于a的n-1阶泰勒级数近似。变量a可以是数值、符号或表示数值值或未知值的字符串。n,v和a的顺序没有先后之分。taylor函数根据变量的位置和类型确定它们的用途。还可以忽略n,v,a等变量中的任何一个。如果不确定v,taylor函数用findsym函数确定函数的独立变量。n的默认值为6。

f(n)(a)泰勒级数:f(x)(xa)n。

n!n01例5-22 求函数f(x)的泰勒级数展开,取前9项。

54cosx程序: syms x f=1/(5+4*cos(x));t=taylor(f,9)运行结果:

3d2y2cos2xydx例5-24 求解微分方程yx01

dyx00dx程序:

y=dsolve('D2y=cos(2*x)-y','y(0)=1','Dy(0)=0','x');%求解微分方程 y=simplify(y)%化简y的形式。运行结果: y = 4/3*cos(x)-2/3*cos(x)^2+1/3

习题五

1、完成实验指导书中的实验五的上半部分。

下载第5章高等数学计算的MATLAB实现讲稿(推荐)word格式文档
下载第5章高等数学计算的MATLAB实现讲稿(推荐).doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文