找到最大的两个变量的函数

74(30天)
汤姆杰瑞
汤姆杰瑞 2019年1月1日
编辑: 明星黾 2019年1月2日
我怎么能找到的最大的f4 0 < = x < = 1和0 < = t < =π/ 2 ?
信谊x t
信谊f (x, t)
t f (x) = (2 x ^ 2 * (sin (t)) ^ (1/2));
f1 = diff (f (x, t), t);
f2 = diff (f1, t);
f3 = diff (f2, t);
f4 (x, t) = diff (f3, t);
3评论
汤姆杰瑞
汤姆杰瑞 2019年1月2日
f = (2 x ^ 2 * (sin (t) ^ 2)) ^ (1/2)

登录置评。

答案(3)

明星黾
明星黾 2019年1月1日
编辑:明星黾 2019年1月2日
使用的符号数学工具箱优化问题可能是不合适的。
试试这个:
f = @ (x, t) (2 x ^ 2 * (sin (t)) ^ (1/2));
XT = fmincon (@ (b) - f (b (1), (2)), (0.5;0.5],[]、[][],[],[0 0],[1π/ 2)
生产:
XT =
0.000446642879507019
0.689946783740861
编辑- 在十八33(2 2019年1月)
新功能,问题澄清:
信谊f (x, t)
t f (x) = (2 x ^ 2 * (sin (t) ^ 2)) ^ (1/2);
f1 = diff (f (x, t), t);
f2 = diff (f1, t);
f3 = diff (f2, t);
f4 (x, t) = diff (f3, t);
f4 =简化(f4,“步骤”,20);
f = matlabFunction (f4,“var”,{[x, t]});
XT = fmincon (@ (b) - f (b),[0.5 - 0.5],[],[],[],[],[0 0],[1π/ 2)
XT =
0.999999986840462 - 0.656184655563777

约翰D 'Errico
约翰D 'Errico 2019年1月1日
编辑:约翰D 'Errico 2019年1月1日
你被告知要使用符号工具箱吗?当然,你可以这么做。但有时更容易使用数字工具,从fminsearch fmincon。但在你这样做之前,让我们看看。通常这可以给你一个了解的过程,和数学的见解总是比蛮力计算。
信谊x t
信谊f (x, t)
t f (x) = (2 x ^ 2 * (sin (t)) ^ (1/2));
ezsurf (f[0, 1],[0,π/ 2])
一般来说,它永远是正确的情节你可以画出的一切。
这给你任何想法吗?你应该认识到这个函数似乎并没有一个唯一的最大的领域。
所以使用一个优化器会给你一个结果,但是它不会真的说实话,因为你可能会困惑,期待有一个独特的解决方案。
事实上,如果你看一下功能,你会发现任何值(x) = = 0,无论t的函数哈萨价值2和2,永远不能超出2的函数。,当t = = 0, x是什么,都无所谓,该函数有一个恒定值2。
所以你的函数有最大值沿两个低的边缘领域。任意点的边缘将导致最大。
如果您尝试使用fmincon会发生什么?只是为了好玩,让我们试一试,和几个不同的起始值。记住,为了最大化使用最小值的工具,你需要否定客观。
Fxt = @ (xt) - (2 - xt (1) ^ 2。* sqrt (sin (xt (2))));
[xt, fval] = fmincon (Fxt (。5。5],[]、[][],[],[0 0],[1π/ 2)
当地的最低发现满足约束。
优化因为目标函数引入在完成
可行的方向,在最优公差的默认值,
约束满足内部默认值约束的宽容。
<停止标准详细信息>
xt =
0.000446642879508753 - 0.689946783741699
fval =
-1.99999984084558
[xt, fval] = fmincon (Fxt (。1。9]、[][],[],[],[0 0],[1π/ 2)
当地的最低发现满足约束。
优化因为目标函数引入在完成
可行的方向,在最优公差的默认值,
约束满足内部默认值约束的宽容。
<停止标准详细信息>
xt =
0.000684543819254824 - 0.889798593575601
fval =
-1.99999958695475
[xt, fval] = fmincon (Fxt (。99 .01点],[]、[][],[],[0 0],[1π/ 2)
当地的最低发现满足约束。
优化因为目标函数引入在完成
可行的方向,在最优公差的默认值,
约束满足内部默认值约束的宽容。
<停止标准详细信息>
xt =
9.7192758663948 e-05 0.785121771761396
fval =
-1.99999999205763
我试过3次,3套的开始值。每一次,我有一个不同的- f (x, t)最小值。都同样有效。但没有任何比其他人更好。
我们可以回到象征性的解决,看看这可能已经预测,但即使解决就会感到困惑,不理解,有无限多的解决方案。万博 尤文图斯
xtsol =解决(dfdx dfdt)
xtsol =
结构体字段:
t: [2×1信谊]
x: [2×1信谊]
> > xtsol.t
ans =
0
π/ 2
> > xtsol.x
ans =
0
0
发现两个解决方案,但不预测万博 尤文图斯无限的解决方案,集真的存在。有时你真正需要的只是一个阴谋,和一些数学思维应用到这个问题。
1评论
明星黾
明星黾 2019年1月1日
我认为使用拉格朗日乘数的象征性的优化。该方法在 约束优化使用拉格朗日乘数法 (链接)可能是适当的。(但是比我今天想去努力。)

登录置评。


沃尔特·罗伯森
沃尔特·罗伯森 2019年1月1日
f4是无界的。当x > 0, t趋于0时的极限f4是+∞。
> >双(f4 (1/10、1/100000))
ans =
2.96463530638315 e + 15

社区寻宝

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

开始狩猎!