试图使用拉格朗日乘数法来寻找潜在的临界点沿着边界g (w x, y, z) = 1但有一个问题,如果我这样做对还是错。

1视图(30天)
代码我到目前为止,我的问题是:
% f和g存储功能
信谊w x y z;
f (w x, y, z) = 2.0 * w * * 4.0 x - y - 5.0 * w * y + 4.0 * y * z + w ^ 2 + 4.0 * z ^ 2;
g (w x, y, z) = 0.4723 * w * x + 0.6455 * w * y + 0.1187 * x * y + 0.8042 * w ^ 2 + 0.08831 * x ^ 2 + y ^ 2 + 0.2568 * 0.06482 * z ^ 2;
%得到两个函数的导数
Dfw = diff (f, w);
Dfx = diff (f (x);
Dfy =差异(f, y);
Dfz = diff (f、z);
Dgw = diff (g, w);
帕特= diff (g, x);
Dgy = diff (g, y);
Dgz = diff (g, z);
%使用朗日乘数来确定潜在的临界点
信谊l;
假设(L,“真实”的);
[LSols2, wSols2 xSols2、ySols2 zSols2] =解决((Dfw = = L * Dgw Dfx = = L *帕特,Dfy = = L * Dgy Dfz = = L * Dgz, g = = 1], [L, w x, y, z]);
之后,我最终的输出:
LSols2 =
88.02707682424968634219788390865
wSols2 =
2.3279803669807613809220624954167
xSols2 =
-4.2003960084583074147714380592078
ySols2 =
-2.5673025621149244822032895411313
zSols2 =
-3.0098831206729364367248909573655
然而,我运行这个消息还在那里说: “警告:无法解决象征性。返回一个使用vpasolve数字解决方案。”

答案(1)

沃尔特·罗伯森”class=
沃尔特·罗伯森 2019年11月22日
MATLAB限制。在那里 封闭形式的解决方案(的)万博 尤文图斯。不同程度的变量多项式7一个多项式的根的学位8所有实根。
你可以进一步通过循序渐进的解决()和替换,但在某种程度上你遇到MATLAB不是很善于解决多项式学位5或更多。万博 尤文图斯
2的评论
沃尔特·罗伯森”class=
沃尔特·罗伯森 2019年11月22日
也许只有一个临界点落在约束范围内,但其他点可能属于边界,可以比较它们的值。
还是像往常一样可以使用的二重微分评估观点:正最低,负最大。

登录置评。

社区寻宝

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

开始狩猎!