为什么我不能解决非线性函数? ?

2视图(30天)
我是MATLAB初学者。所以请帮助我~ ^ ^ *
fun_y =
function_handle和值:
@ (y1, y2) y1, y2 e * 8.0 + 1 +。* 7.0 e + 1-log (y1)日志(y2)
日元= optimvar (“日元”);
y2 = optimvar (“日元”);
概率。目标= fcn2optimexpr (fun_y, y1, y2);
y0。日元= 1;
y0。y2 = 1;
[溶胶,fval] =解决(概率,y0);
然而,错误masssage“检查丢失参数或不正确的参数数据类型在调用函数解决。”。
我不知道如何正确的……UU
请帮助我!

接受的答案

马特·J
马特·J 2021年9月29日
编辑:马特·J 2021年9月29日
fun_y = @ (y1, y2) y1, y2 e * 8.0 + 1 +。* 7.0 e + 1-log (y1)日志(y2);
日元= optimvar (“日元”);
y2 = optimvar (“日元”);
概率= optimproblem (“目标”fcn2optimexpr (fun_y, y1, y2));
y0。日元= 1;
y0。y2 = 1;
[溶胶,fval] =解决(概率,y0)
使用fminunc解决问题。局部最小值。fminunc停止因为当前步骤的大小小于步长值的宽容。
索尔=结构体字段:
y2 y1: 0.0125: 0.0143
fval = 10.6305
1评论
연승김
연승김 2021年9月29日
哇。你是天才! ! ! ! ! !哇. .神奇的……
我必须努力学习! !

登录置评。

更多的答案(0)

类别

找到更多的在开始使用优化工具箱帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!