训练

您所在的位置:网站首页 怎么求函数极值点和极值 训练

训练

2023-05-24 23:45| 来源: 网络整理| 查看: 265

0 分享至

用微信扫码二维码

分享至好友和朋友圈

01

作出下列函数图形,观察所有的局部极大、极小和全局最大、最小值点的粗略位置,并用MATLAB函数fminbnd和fminsearch求各极值点的确切位置。

1)作图:

syms xy1=x^2*sin(x^2-x-2);ezplot(y1,[-2,2])grid on

观察图形

%%利用函数fminbnd搜索极小点y2=@(x)x.^2.*sin(x.^2-x-2);[x,f]=fminbnd(y2,-2,2)%%结果只是搜到局部极小点x =-0.7315 f =-0.3582%%改变搜索范围,得到[x,f]=fminbnd(y2,0,2)x = 1.5951 f =-2.2080%%同理改变搜索范围,即可搜到全局最优解,过程略!

%%利用函数fminsearch搜索最优解[x,f]=fminsearch(y2,-2)%%得到全局最优解x =-2.1708 f =-4.6438

%%寻找极大值或最大值点,只需寻找-y的极小值或最大值点即可,在此省略!

2)作图:

syms xy3=3*x^5-20*x^3+10;ezplot(y3,[-3,3])grid on

观察图形

y4=@(x)3*x.^5-20*x.^3+10;[x,f]=fminbnd(y4,-3,3)%%得结果x = 2.0000 f =-54.0000

%在x=2附近搜索[x,f]=fminsearch(y4, 2)% 结果x =2.0000f =-54.0000%在x=-2搜索结果非常小

Exiting: Maximum number of function evaluations has been exceeded- increase MaxFunEvals option.Current function value:-98201718236885578000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000x = -1.2677e+29f = -9.8202e+145

3)作图:

syms xy5=abs(x^3-x^2-x-2);ezplot(y5,[0,3])grid on

观察图形

%%%搜索极值点方法类似,省略

02

考虑函数

%%作图观察syms x yz=y^3/9+3*x^2*y+9*x^2+y^2+x*y+9;ezmesh(z,[-2,1,-7 1])

%%似乎在x=0,y=0的附近有极小值,故在点(0,0)附近搜索%%利用fminsearch搜索的结果

z1=@(x)x(2)^3/9+3*x(1)^2*x(2)+9*x(1).^2+x(2)^2+x(1)*x(2)+9;[x,fval]=fminsearch(z1,[0 0])

x =0 0fval = 9

%%利用fminunc搜索

z1=@(x)x(2)^3/9+3*x(1)^2*x(2)+9*x(1).^2+x(2)^2+x(1)*x(2)+9;[x,fval]=fminsearch(z1,[0 0])

%结果Initial point is a local minimum.Optimization completed because the size of the gradient at the initial pointis less than the default value of the function tolerance.

x1 =0 0fval1 = 9

03

利用fmincon函数求解以下优化问题:

%首先定义非线性约束函数,函数名自拟,但结构要包含不等与等约束条件,并单独保存成M函数文件function [c ceq]=nonf(x)c=9-x(1)^2-x(2)^2;ceq=[];end

%在命令窗口或脚本窗口输入以下命令:

%定义目标函数fun3=@(x) x(1)^4-4*x(1)-8*x(2)+15;%定义非线性约束noncon=@(x) nonf(x);A=[2 3;-1,1];b=[2;5];[x,fval]=fmincon(fun3,[0,1],A,b,[],[],[],[],noncon)

%运算结果为:

Local minimum found that satisfies the constraints.

Optimization completed because the objective function is non-decreasing in feasible directions, to within the default value of the optimality tolerance, and constraints are satisfied to within the default value of the constraint tolerance.

-2.1454 2.0969

fval =

即,找到局部最优解x=(-2.1454,2.0969),最优值为27.9921

%亦可以按照面向问题式求解:clc,clear,prob=optimproblem;x=optimvar('x',2);prob.Objective=x(1)^2-4*x(1)-8*x(2)+15;prob.Constraints.con1=x(1)^2+x(2)^3>=9;prob.Constraints.con2=[2*x(1)+3*x(2) /阅读下一篇/ 返回网易首页 下载网易新闻客户端



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3