找到最大值

时间:2010-11-21 11:55:59

标签: function matlab wolfram-mathematica analysis max

如何通过Mathematica和Matlab等计算机软件找到以下最大值或最高值:$\sup\frac{(1+s)^{4}+(s+t)^{4}+t^{4}}{1+s^{4}+t^{4}}$

而不是数值近似,什么是准确的最大值?

感谢。

2 个答案:

答案 0 :(得分:2)

由于这个问题看起来有点像家庭作业,这里的答案有点像讲座:

  • 问问自己,st会对小函数和大函数的正值和负值产生什么影响;这将有助于您确定应该检查的值的范围; Mathematica Matlab 都可以帮助你解决这个问题;
  • 在感兴趣的值范围内绘制函数的图形,形成对其形状的感觉,并尝试找出它具有最大值的位置;为此, Mathematic Plot3D[]函数和 Matlab plot()函数都很有用;
  • 因为这是2个变量的函数,你应该考虑绘制它的一些部分,即保持s(或t)常数,并制作部分函数的2D图;再次,了解函数的行为方式;
  • 现在你应该能够对函数最大值周围的s,t值进行某种搜索,并获得可接受的准确结果。

如果这太难了,那么你可以使用 Mathematica 函数NMaximize[]。我不认为 Matlab 具有内置符号函数的相同功能,您必须以数字方式进行计算,但函数findmax将有所帮助。

答案 1 :(得分:1)

在Matlab中,可以创建一个带有s和t值的向量/矩阵,以及一个带有函数值的相应向量。然后,您可以使用函数max

查明最大值

在Mathematica中,像这样使用FindMaximum

f[s_,t_]:= ((1+s)^4 + (s+t)^4 + t^4)/(1+s^4+t^4)
FindMaximum[ f[s,t],{s,0},{t,0} ]

这将从(s,t)=(0,0)开始搜索最大值。

有关详细信息,请参阅http://reference.wolfram.com/mathematica/ref/FindMaximum.html