已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章 函数的导数和积分 n对于可导的函数的导数也是一个函数,称作的导 函数。寻找已知的函数在某点的导数或其导函数 的过程称为求导,反之已知导函数,也可以倒过 来求原来的函数。 n求导和积分是一对互逆的操作,它们都是微积分 学中最为基础的概念。微积分基本定理说明了求 原函数与积分是等价的。在微积分中,积分是微 分的逆运算,即知道了函数的导函数,反求原函 数。在应用上,积分作用不仅如此,它被大量应 用于求和(例如求曲边三角形的面积),这巧妙 的求解方法是积分特殊的性质决定的。 7.1 函数的导数 n7.1.1 函数导数的解析解 n使用符号求导函数的调用格式是: n diff(fun,x,n) n其中,fun是函数符号表达式;x是符号自变量;n 是求导的阶数(n为1时可以省略)。 n例7-1 计算函数的一阶和二阶导数。 n% 求函数导数解析解 nsyms x % 定义表达式中的符号变量 nf=sqrt(cos(x)-x*sin(x); % 定义函数表达式 ndisp ( 函数的1阶导数:),f1=diff(f) ndisp ( 函数的2阶导数:),f2=diff(f,2) nM文件运行结果: n函数的1阶导数: nf1 = n-1/2/cos(x)(1/2)*sin(x)-sin(x)-x*cos(x) n函数的2阶导数: nf2 = n-1/4/cos(x)(3/2)*sin(x)2-1/2*cos(x)(1/2) -2*cos(x)+x*sin(x) n7.1.2 二维函数和参数方程的偏导数 n1、二维函数的偏导数 n使用符号求二维函数fun(x,y)偏导数的函数调用格 式是: n diff(diff(fun,x),y) n diff(diff(fun,y),x) n其中,fun是函数符号表达式;x和y是符号自变量 n例7-2 计算二维函数的2阶偏导数: n% 求二维函数2阶偏导数解析解 nsyms x y % 定义表达式中的符号变量 nf=x2*y/(x+y)3; % 定义二维函数表达式 ndisp ( 对变量x的2阶偏导数:) nd2x=diff(f,x,2) ndisp ( 对变量y的2阶偏导数:) nd2y=diff(f,y,2) ndisp ( 函数的2阶偏导数:) ndxy=diff(diff(f,x),y) ndisp ( 函数的2阶偏导数的简化符号表达式: ) nsdxy=simplify(dxy) nM文件运行结果: n对变量x的2阶偏导数: nd2x = n2*y/(x+y)3-12*x*y/(x+y)4+12*x2*y/(x+y)5 n对变量y的2阶偏导数: nd2y = n-6*x2/(x+y)4+12*x2*y/(x+y)5 n函数的2阶偏导数: ndxy = n2*x/(x+y)3-6*x*y/(x+y)4- 3*x2/(x+y)4+12*x2*y/(x+y)5 n函数的2阶偏导数的简化符号表达式: nsdxy = n-x*(x2-7*x*y+4*y2)/(x+y)5 n2、参数方程的偏导数 n设参数方程为 和 ,计算参数 方程k阶导数 的函数调用格式是: n diff(f,t,k) / diff(g,t,k) n例7-3 计算参数方程导数 解析解,并计算当 时的数值解。 n% 求参数方程导数的解析解 nsyms t % 定义参数方程中的符号变量 nx=log(cos(t); % 定义参数方程1 ny=cos(t)-t*sin(t); % 定义参数方程2 ndydx1=diff(y,t)/diff(x,t); ndisp(参数方程的1阶导数的简化符号表达式:) nsdydx1=simplify(dydx1) ndydx2=diff(y,t,2)/diff(x,t,2); ndisp(参数方程的2阶导数的简化符号表达式:) nsdydx2=simplify(dydx2) n% 计算t=pi/3时的二阶导数值(有效数字6位) ns2=vpa(subs(dydx2,t,pi/3),6); ndisp( t=pi/3时的二阶导数值:),s2 nM文件运行后得到的计算结果: n参数方程的1阶导数的简化符号表达式: nsdydx1 = n(2*sin(t)+t*cos(t)*cos(t)/sin(t) n参数方程的2阶导数的简化符号表达式: nsdydx2 = n-(-3*cos(t)+t*sin(t)*cos(t)2 nt=pi/3时的二阶导数值: ns2 = n.148275 n因此,参数方程一阶和二阶导数的解析解是: n7.1.3 n维函数的偏导数 n1、n维隐函数的偏导数 n设n维隐函数为 ,由于变量之 间偏导数的关系是 n则计算变量 对变量 的偏导数的函数调用 格式是: n -diff(f,xj) / diff(f,xi) n例7-4 计算二维隐函数 n偏导数的解析解。 n% 求二维隐函数偏导数的解析解 nsyms x y % 定义函数表达式中的符号变量 nf=(x2-2*x)*exp(-x2-y2-x*y); % 定义二维隐函数表达式 ndydx=-diff(f,x)/diff(f,y); % 计算二维隐函数的偏导数dy/dx ndisp ( 二维隐函数偏导数的简化符号表达式) nsdydx=simplify(dydx) nM文件运行后得到的计算结果: n二维隐函数偏导数的简化符号表达式: nsdydx = n-(-2*x+2+2*x3+x2*y-4*x2-2*x*y)/x/(x- 2)/(2*y+x) n因此,二维隐函数偏导数的解析解是: n2、jacobion矩阵 n设有n个自变量 的m个函数 n相应的偏导数构成jacobion矩阵为 n运用MATLAB符号工具箱函数可以直接求出 jacobion矩阵 n jacobion(f,x) n其中,f是n维函数,x是n维向量。 n该函数用于计算n维函数f对n维向量x的jacobion 矩阵,其第i行、第j列的值为。当f为数量时,所 得的值为f的梯度。当v为数量时,该函数相当于 diff(f,x)。 n例7-5 已知三维函数 试计算它的偏导数。 n% 计算多维函数的导数 nsyms x y z nf1=x*y*z;f2=x2-y;f3=x+z; ndisp( 多维函数表达式向量:) nf=f1;f2;f3 ndisp( 多维函数的偏导数矩阵:) nJ=jacobian(f,x y z) nM文件运行结果: n多维函数表达式向量: nf = x*y*z n x2-y n x+z n多维函数的偏导数矩阵: nJ = n y*z, x*z, x*y n 2*x, -1, 0 n 1, 0, 1 n因此,三维函数的偏导数矩阵是: n7.1.4 数值微分 n根据函数在一些离散点的函数值,推算它在某点 的导数或某高阶导数的近似值。通常用差商代替 微商,或用一能近似代替该函数的较简单的函数 (如多项式、样条函数)的相应导数作为所求导 数的近似值。针对实验数据X(向量或多维数组) 数值微分,由于函数表达式是未知的,需要采用 数值解法(中心差分方法的微分算法)。 n例7-6 已知一组实验数据如表7-1所示,试计算它 的4阶微分。 表7-1 实验数据 x0.00000.20000.40000.60000.80001.0000 y0.39270.56720.69820.79410.86140.9053 n% 用中心差分方法的数值微分算法 nfunction dy,dx=diff_ctr(y,dt,n) nyx1=y 0 0 0 0 0;yx2=0 y 0 0 0 0;yx3=0 0 y 0 0 0; nyx4=0 0 0 y 0 0;yx5=0 0 0 0 y 0;yx6=0 0 0 0 0 y; nswitch n n case 1 n dy=(-diff(yx1)+7*diff(yx2) n+7*diff(yx3)-diff(yx4)/(12*dt);l0=3; n case 2 n dy=(-diff(yx1)+15*diff(yx2)- 15*diff(yx3)+diff(yx4)/(12*dt2);l0=3; n case 3 n dy=(-diff(yx1)+7*diff(yx2)- 6*diff(yx3)-6*diff(yx4)+7*diff(yx5)- diff(yx6)/(8*dt3);l0=5; n case 4 n dy=(-diff(yx1)+11*diff(yx2)- 28*diff(yx3)+28*diff(yx4)- 11*diff(yx5)+diff(yx6)/(6*dt3);l0=5; nEnd ndy=dy(l0+1:end-l0); ndx=(1:length(dy)+l0-2-(n2)*dt; n% 用中心差分方法的数值微分算法调用M文件 nsx=0.0000 0.2000 0.4000 0.6000 0.8000 1.0000; nsy=0.3927 0.5672 0.6982 0.7941 0.8614 0.9053; ny=sy,sx; ndt=0.2; nn=4; ndy,dx=diff_ctr(y,dt,n) nM文件运行结果: ndy = 19.2187 -217.2292 581.9417 - 611.7500 250.0458 -23.0271 ndx = 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 n7.1.5 函数的梯度和梯度的模 n在向量微积分中,标量场的梯度是一个向量场, 标量场中某一点上的梯度指向标量场增长最快的 方向。梯度是一个向量,当某一函数在某点处沿 着该方向的方向导数取得该点出的最大值,即函 数在该点处沿方向变化最快,变化率最大,称为 为该梯度的模。 nn维函数 ,在点 的梯度,是函数各维一阶偏导数组成的向量 n梯度的模是函数各维一阶偏导数平方和的开方 n1、计算梯度的符号函数 jacobian(fun,X) n其中,fun是符号函数表达式,X是定义求导变量 组成的向量(可以省略)。 n2、计算矩阵或向量范数的符号函数 n norm(fun,X) n其中,fun是符号型函数表达式,X是定义求导变 量组成的符号型向量。 n例7-7 计算函数在 梯度和梯度模: n% 计算多维函数的梯度和梯度的模 nsyms x1 x2 x3 % 定义符号变量 nf=2*x12+5*x22+x32+2*x2*x3+2*x1*x3-6*x2+3 ndisp( 三维函数的梯度:) ngf=jacobian(f) nxk=1,-1,2; ndisp( 函数在xk点的梯度值:) ngfk=subs(subs(subs(gf,xk(1),xk(2),xk(3) ndisp( 函数在xk点的梯度的模:) ngmk=norm(gfk) nM文件运行结果: n三维函数的梯度: ngf = n 4*x1+2*x3, 10*x2+2*x3-6, 2*x3+2*x2+2*x1 n函数在xk点的梯度值: ngfk = 8 -12 4 n函数在xk点的梯度的模: ngmk = 14.9666 n因此,三维函数的梯度,以及在的梯度和梯度的 模是: 7.2 函数的积分 n设 是函数 的一个原函数,则将函数 的所有原函数 ( C为任意常数)叫做函 数的不定积分,记作 。 n定积分 就是求函数 在区间a,b 中函数图线下包围的面积。 n7.2.1 不定积分的解析解 n计算不定积分解析解的函数调用格式是: n F=int(fun,x) n其中,fun是被积函数;x是自变量,如果只有一 个变量,x可以省略。 n应当指出,计算结果F(x)只是积分原函数,实际 的不定积分应该是F(x)+C构成的曲线族,C是任意 常数。 n例7-8 计算不定积分 n% 计算不定积分 nsyms x a b; % 定义表达式中的符号变量 ny=sin(a*x)*cos(b*x); % 定义被积函数 ndisp( 被积函数的不定积分:) nF=int(y,x) nM文件运行结果: n被积函数的不定积分: nF = n-1/2/(a+b)*cos(a+b)*x)-1/2/(a-b)*cos(a- b)*x) n因此,不定积分 n7.2.2 定积分 n计算定积分的函数调用格式是: n I=int(fun,x,a,b) n其中,fun是被积函数;x是自变量;(a,b)是定积 分的积分区间,计算无穷积分时,需要将积分区 间设置为(-inf,inf)。 n例7-9 计算定积分 和 的解析解和数值解。 n% 计算定积分 nsyms x; % 定义表达式中的符号变量 ny1=x*exp(x)/(1+x)2; % 定义被积函数1 na1=0;b1=1; % 定义积分区间1 ndisp( 被积函数1定积分的解析解:) nF1=int(y1,x,a1,b1) % 计算y1的定积分 ndisp( 被积函数1定积分的数值解:) nF1v=double(F1) ny2=cos(x)/sqrt(x); % 定义被积函数2 na2=0;b2=inf; % 定义积分区间2 ndisp( 被积函数2定积分的解析解:) nF2=int(y2,x,a2,b2) ndisp( 被积函数2定积分的数值解:) nF2v=double(F2) nM文件运行结果: n 被积函数1定积分的解析解: nF1 = 1/2*exp(1)-1 n 被积函数1定积分的数值解: nF1v = .3591 n 被积函数2定积分的解析解: nF2 = 1/2*2(1/2)*pi(1/2) n 被积函数2定积分的数值解: nF2v = 1.2533 n因此,两个定积分的解析解和数值解是: n7.2.3 数值积分 n求某函数的定积分时,在多数情况下,被积函数 的原函数很难用初等函数表达出来;另外,许多 实际问题中的被积函数往往是列表函数或其他形 式的非连续函数。对这类函数只能使用数值积分 计算函数的近似值。 n1、梯形法求解数值积分 n梯形法求解数值积分的:将积分区间分割成许多 足够小的分区间,取各个矩形的面积分别代替积 分函数的曲线在各小段区间上围出来的曲边梯形 的面积,再将所有这样的矩形面积加起来的总和 ,近似地等于函数在这个区间上的定积分。 n梯形法求解数值积分的函数调用格式是: n s=trapz(x,y) n其中,x是向量;y的行数应该等于x向量的元素数 n例7-10 用梯形法计算表7-2数据的定积分。 n% 梯形法计算定积分 nx=0:0.1:1.2; ny=0 2.2077 3.2058 3.4435 3.241 2.8164 2.311 1.8101 1.3602 0.9817 0.6791 0.4473 0.2768; ns=trapz(x,y) nM文件运行结果: ns = n 2.2642 n2、变步长辛普生法求解数值积分 n变步长辛普生法求解数值积分的基本思想是:在 梯形法的基础上,将积分区间逐次分半,计算出 每个子区间的定积分近似值,并且求和。 n变步长辛普生法求解数值积分的函数调用格式是 n s ,n =quadl(fun,a,b,t0l) n其中,s是返回的定积分值; n n是返回被积函数调用次数; n fun是被积函数; n a和b分别是定积分的下限和上限; n tol是控制积分精度(默认 )。 n该函数适用于求解给定函数的数值积分。 n例7-11 用变步长辛普生法计算定积分: n% 变步长辛普生法计算定积分 nf=inline(exp(-0.5.*x).*sin(x+pi/6),x); % 定义被积函数和自变量 na=0;b=3*pi; % 定义积分区间 nformat long; % 数值按长格式显示 ns,n=quadl(f,a,b,1e-15) % 计算y的定积分 nM文件运行结果: ns = 0.90084078781889 nn = 828 n% 绘制积分图形 nfplot(exp(-0.5.*x).*sin(x+pi/6),a,b); % 符号函数绘图 nhold on; nx=a:pi/100:b; ny=exp(-0.5.*x).*sin(x+pi/6); nfill(a,x,b,0,y,0,y); % 填充积分区域 nxlabel(bfit x);ylabel(bfit y); ntitle(bf 变步长辛普生法计算定积分); ngtext(y=e-0.5xsin(x+pi/6); n输出图形(如图7-2所示) n7.2.4 函数的重积分 n1、二维函数的数值积分(双重积分) n对于二维函数的双重定积分问题 n可以直接使用函数进行求解矩形区域的数值积分 ,其调用格式是: n y=dblquad(fun,xm,xM,ym,yM,tol) n其中,输入参数fun是二维被积
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论