- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学分析matlab第二次课
数学分析课程实验 II -2极值的求解曲线与曲面实验目的:训练学生运用数学软件分析解决多元函数的无条件极值与条件极值问题;会运用软件分析研究曲线与曲面的性质,绘制观察相应的图像,加深对空间曲线与曲面的理解与认识。 学习内容:无条件极值的计算条件极值的计算曲线的切线与法平面曲面的法线与切平面第一部分 极值的求解无条件极值的计算,例子 1 求函数 的极值点和极值。首先用diff命令求z关于x,y的偏导数。clear; syms x y;z=x^4-8*x*y+2*y^2-3;diff(z,x)ans =4*x^3-8*ydiff(z,y)ans =-8*x+4*y即 再求解正规方程,求得各驻点的坐标。一般方程组的符号解用solve命令,当方程组不存在符号解时,solve将给出数值解。求解正规方程的MATLAB代码为:clear; [x,y]=solve(4*x^3-8*y=0,-8*x+4*y=0,x,y)结果有三个驻点,分别是P(-2,-4),Q(0,0),R(2,4).下面再求判别式中的二阶偏导数:clear; syms x y;z=x^4-8*x*y+2*y^2-3;A=diff(z,x,2)B=diff(diff(z,x),y)C=diff(z,y,2)结果为A=2*x^2B =-8C =4由判别法可知P(-4,2) 和 Q(4,2)都是函数的极小值点,而点Q(0,0)不是极值点,实际上, P(-4,2) 和 Q(4,2) 是函数的最小值点。当然,我们可以通过画函数图形来观测极值点与鞍点。clear; x=-5:0.2:5; y=-5:0.2:5;[X,Y]=meshgrid(x,y);Z=X.^4-8*X.*Y+2*Y.^2-3;mesh(X,Y,Z)xlabel(x),ylabel(y),zlabel(z)可在上图中不容易观测极值点与鞍点,这是因为z的取值范围为[-500,100],是一幅远景,局部信息丢失较多,观测不到图像细节。可以通过画等值线来观测极值。contour(X,Y,Z, 600)xlabel(x),ylabel(y)由上图可见,随着图形灰度的逐渐变浅,函数值逐渐减小,图形中有两个明显的极小值点 P(-4,2) 和 Q(4,2) 。根据梯度与等高线之间的关系,梯度的方向是等高线的法方向,且指向函数增加的方向。由此可知,极值点应该有等高线环绕,而点 Q(0,0)周围没有等高线环绕,不是极值点,是鞍点。例子 2ezplot(exp(-(x + 1)^2 + pi/2) * sin(5 * x + 2))数值求解syms x; x1=solve(exp(-(x+1)^2+pi/2)*sin(5*x+2))x1 =-2/5采用解析解函数 solve() 能求出精确的解,但只能求出其一个根,如果采用 fsolve() 函数则可以让用户自己选择初值,选择不同的初值可能得出不同的结果。f=inline(exp(-(x+1).^2+pi/2).*sin(5*x+2),x);x2=fsolve(f,0)subs(exp(-(x+1)^2+pi/2)*sin(5*x+2),x,x2)x3=fsolve(f,-1) subs(exp(-(x+1)^2+pi/2)*sin(5*x+2),x,x3)Inline函数在matlab命令窗口、程序或函数中创建局部函数时,可用inline。优点是不必将其储存为一个单独文件。在运用中有几点限制:不能调用另一个inline函数,只能由一个matlab表达式组成,并且只能返回一个变量—显然不允许[u,v]这种形式。因而,任何要求逻辑运算或乘法运算以求得最终结果的场合,都不能应用inline。除了这些限制,在许多情况下使用该函数非常方便。例子 3f=inline([100*(x(2)-x(1)^2)^2+(1-x(1))^2+,...90*(x(4)-x(3)^2)+(1-x(3)^2)^2+,...10.1*((x(2)-1)^2+(x(4)-1)^2)+,...19.8*(x(2)-1)*(x(4)-1)],x);x=fminunc(f,ones(4,1))例子 4 y=inline(20+x(1)^2+x(2)^2-10*(cos(pi*x(1))+cos(pi*x(2))),x);x1=fminunc(y,[1;0]) y(x1)ans = 3.5527e-015x2=fminunc(y,[0;2])y(x2)ans = 3.9205条件极值例子1 :求函数 在上半圆 上的最大值和最小值。首先画出等高线进行观测,相应的MATLAB程序代码为:clear; x=-4:0.1:4; y=-4:0.1:4;[X,Y]=m
原创力文档


文档评论(0)