最优解.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最优解

MATLAB作业6 参考答案 1、用图解的方式找到下面两个方程构成的联立方程的近似解。(注:在图上可用局部放大的方法精确读出交点值) 【求解】这两个方程应该用隐式方程绘制函数ezplot() 来绘制,交点即方程的解。 ezplot(x^2+y^2-3*x*y^2); hold on ezplot(x^3-x^2=y^2-y) 可用局部放大的方法求出更精确的值。从图上可以精确读出两个交点,(0:4012;?0:8916),(1:5894; 0:8185)。试将这两个点分别代入原始方程进行验证。 2、在图形绘制语句中,若函数值为不定式NaN ,则相应的部分不绘制出来,试利用该规律绘制的表面图,并剪切下的部分。 【求解】给出下面命令可以得出矩形区域的函数值,再找出x2 + y2 =0.5^2 区域的坐标,将其函数值设置成NaN,最终得出所示的曲面。 [x,y]=meshgrid(-1:.1:1); z=sin(x.*y); ii=find(x.^2+y.^2=0.5^2); z(ii)=NaN; surf(x,y,z) 3、试用图解法求解下面的一元和二元方程,并验证得出的结果。 【求解】①中给出的一元方程可以用曲线表示出来,这些曲线和y = 0 线的交点即为方程的 解,可以用图形局部放大的方法读出这些交点的x 值,。在本图中,xi 均为方程的解,若放大x 轴区域,则可能得出更多的解。 ezplot(exp(-(x+1)^2+pi/2)*sin(5*x+2)) ②中的二元方程可以由下面的命令用图形的方式显示出来。 ezsurf((x^2+y^2+x*y)*exp(-x^2-y^2-x*y)) 用下面的语句可以得出等高线。为了比较起见,还绘制出其他值下的等高线。等高线值为0 的两条斜线为方程的解。 [x,y]=meshgrid(-3:0.1:3); z=(0.1*x.^2+0.1*y.^2+x.*y).*exp(-x.^2-y.^2-x.*y); [C,h]=contour(x,y,z,[-0.1:0.05:0.1]); 4、用数值求解函数求解习题3中方程的根,并对得出的结果进行检验。 【求解】求解方程求解问题可以采用fsolve() 和solve() 函数直接求解,这里采用这两个函数分别求取这两个方程的根。 ① 可以用下面方法求出一元函数的根,经检验结果较精确。 syms x; x1=solve(exp(-(x+1)^2+pi/2)*sin(5*x+2)) x1 = -2/5 subs(exp(-(x+1)^2+pi/2)*sin(5*x+2),x,x1) ans = 0 f=inline(exp(-(x+1).^2+pi/2).*sin(5*x+2),x); x2=fsolve(f,0) x2 = 0.22831852178755 subs(exp(-(x+1)^2+pi/2)*sin(5*x+2),x,x2) ans = 4.750949292642762e-008 x3=fsolve(f,-1) % 选择不同的初值可以得出其他的解 x3 = -1.02831853071796 subs(exp(-(x+1)^2+pi/2)*sin(5*x+2),x,x3) ans = -5.886413288211306e-016 采用解析解函数solve() 能求出精确的解,但只能求出其一个根,如果采用fsolve() 函数 则可以让用户自己选择初值,选择不同的初值可能得出不同的结果。在实际应用时这样的方 法也有其问题,若x 大于1,则函数值本身就很小,很容易满足数值解的收敛条件,例如选择x0 = 4,则由数值解的程序能得出方程解为x0,事实上这样的解不是数学意义下的方程解,但确实能使得该函数的值趋于0。 x4=fsolve(f,4) % 选择大的初值得出的解不是严格意义下方程的根 x4 = subs(exp(-(x+1)^2+pi/2)*sin(5*x+2),x,x4) ans = -5.913350831018913e-013 ② 可以用下面的语句求解该函数,则可以得出方程的解,代入原方程则可以得出误差,可见误差为0,这样说明得出的解确实满足原方程。 syms x; y1=solve((x^2+y^2+x*y)*exp(-x^2-y^2-x*y)=0,y) y1 = (-1/2+1/2*i*3^(1/2))*x (-1/2-1/2*i*3^(1/2))*x y2=simple(subs((x^2+y^2+x*y)*exp(-x^2-y^2-x*y),y,y1)) y2 = 0 0 5、试求解下面的无约束最优化问题。 【求解】无约束最优化问题可以由下面的

文档评论(0)

561190791 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档