matlab,请问这个要如何改才能输出多个最优值

代码如下,这个代码每次只能输出一个最优值,请问如何改能让他一次性输出所有全部最优值,或多个最优值,只要数量上能够满足作三维图就可以了。谢谢>>fit=@(x)x(1)^2... 代码如下,这个代码每次只能输出一个最优值,请问如何改能让他一次性输出所有全部最优值,或多个最优值,只要数量上能够满足作三维图就可以了。谢谢
>> fit = @(x) x(1)^2 + x(2)^2 - 16*x(1)- 5*x(1)*x(2);
options = gaoptimset('Generations',100,'PopulationSize',20,...
'CrossoverFraction', 0.8, 'ParetoFraction', 0.5);
[x fval] = ga(fit,2,[1 1],20,[],[],[0;0],[20;10],[],options);
x
fval = -fval
展开
 我来答
我行我素850915
2016-06-23 · TA获得超过8241个赞
知道大有可为答主
回答量:5788
采纳率:77%
帮助的人:1744万
展开全部
优化算法就是要找到最优值,一次计算得到一个最优结果,不可能得到“多个最优”。除非用for循环,改变每次计算用的输入参数。
追问
那如果要改的话,应该要怎么改呢,老师一定要我输出多个最优。
追答
syms x y
z=x^2+y^2-16*x-5*x*y;
ezsurf(z)
用上面的语句画图形,看下,它怎么可能有多个最优?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式