《实验二MATLAB中的极限和微分积分运算》由会员分享,可在线阅读,更多相关《实验二MATLAB中的极限和微分积分运算(28页珍藏版)》请在人人文库网上搜索。
1、实验二 MATLAB中的极限、微分和积分运算,一、实验目的,熟悉MATLAB软件中关于极限、微分运算和不定积分、定积分的基本命令,掌握利用MATLAB软件进行求极限和微分运算的方法。掌握利用MATLAB软件进行求不定积分、定积分等积分运算的方法,二、相关知识,在微积分中,我们曾经学习了求函数的极限、微分和不定积分和定积分的运算,那时我们根据微积分的原理,学习了一整套各种各样的方法,其中包括了许多技巧,现在我们尝试用软件来解决这样的问题,MATLAB提供的命令函数limit()可以完成极限运算,其调用格式如下: limit(F,x,a,left) 该命令对表达式F求极限,独立变量x从左边趋于a,。
2、函数中除F外的参数均可省略,left可换成right。举例如下,极限运算,例1:求极限 。 解:可用以下程序完成: clear F=sym(1+a/x)x) limit(F,x,inf,left,结果为exp(a)。其中,语句F=sym(1+a/x)x)表示定义符号表达式 也可用以下的语句来完成,clear; syms x %这里是把x先说明成符号。 F=(1+a/x)x %这里的定义形式和前面不同。 limit(F, x, inf, left) %这里的x本身就是符号,因 此不需要单引号,MATLAB提供的函数diff()可以完成对给定函数求导函数的运算,其调用格式如下: diff(fun,。
3、x,n) 其意义是求函数fun关于变量x的n阶导数,n为1时可省略。这里的fun用上例的后一种方式来定义较为妥当。我们看下面的例,导函数的运算,例2:求函数 的一阶和三阶导数,解:可用以下程序完成: clear; syms x y=log(x+2)/(1-x); dy=diff(y,x) dy3=diff(y,x,3) pretty(dy3) 这里用到的另一个函数:pretty(),其功能是使它作用的表达式更符合数学上的书写习惯,MATLAB提供的命令函数int()可以完成积分运算,其调用格式有如下几种: int(fun) 计算函数fun关于默认变量的不定积分 int(fun,x) 计算函数f。
4、un关于变量x的不定积分 int(fun,x, a, b)计算函数fun关于变量x从a到b的定积分 我们通过例子来学习具体的用法,积分运算,例1:计算不定积分,clear y=sym(x5+x3-sqrt(x)/4) int(y) pretty(ans,解:可以用下面的程序完成,例2:计算定积分,clear syms x y=(x*exp(x)/(1+x)2; int(y,0,1,解:可以用下面的程序实现计算,例3:计算二重积分 ,其中D为曲 线 和 所围成的区域,所以,计算该积分的MATLAB程序为,clear syms x y f=x*x+y; int(int(f,y,x*x,sqrt(x。
5、),x,0,1,解:区域D可用不等式表示为,例4:被积曲面S为球面 在第一卦限部分的外则,计算曲面积分,解:先把问题转化为二重积分,积分区域为x,y平面内的第一象限部分。具体的计算公式为,然后计算该二次积分,程序如下,clear syms x y z z=sqrt(1-x2-y2) f=x*y*z I=int(int(f,y,0,sqrt(1-x2),x,0,1,这里我们看到,所有的积分计算都是利用函数int完成的,当我们遇到二重积分、三重积分和曲线、曲面积分时需要先化为相应的累次积分,再用int来完成积分的计算,综合实验,1.定积分近似计算的Monte Carlo方法,a=0;b=1;m=1。
6、000; s=0;H=exp(1);%s设置为落在曲边梯形内的点数 for i=1:m xi=rand();yi=H*rand(); if yiexp(xi) s=s+1; end; %如果随机点落在曲边梯形内,s增加1 end; fprintf(%s%gn,exp(x)在0,1上的积分约等于,H*(b-a)*s/m,例1 近似计算,2.Matlab近似计算定积分rsums(f,a,b,syms x;rsums(exp(x),0,1,rsums exp(-5*x2,3.泰勒级数逼近计算器taylortool,4.最大公约数问题,Matlab用于求两个整数的最大公约数的函数是gcd,比如gcd(。
7、4,6)将会得到2,数学上有个这样的结论:若d是a,b的最大公约数,则存在整数p,q,使得 pa+qb=d,Matlab中可以通过命令d,p,q=gcd(a,b)来获得上述的三个数,比如d,p,q=gcd(12,32)运行得到,d = 4 p=3 q=-1,可以验证,确实有 3 12 -1 32=4,现在考虑这样的一个问题:任取两个正整数,它们互质的可能性有多大,m=10000;s=0; for i=1:m a=randint(1,2,1,109); if gcd(a(1),a(2)=1 s=s+1; end end s/m,ans = 0.6043,实际上上述所求概率的精确值应该是,5.勾股数,满足勾股定理 a2+b2=c2的三个正整数a,b,c称为勾股数,以下程序求出100以内的所有勾股数,l=0; m=; for a=1:100 for c=a+1:100 b=sqrt(c2-a2); if (b=floor(b) end end end m,考察c-b=1时的勾股数,将前面程序略加修改可得到下表,可以证明,此时勾股数的通项可表示为,c-b=2的情况留着自己讨论,现在给出c-b=3时的勾股数,可以得到下表,此表与c-b=1时相同,为什么。