请问如何精确的找出函数图像上的最大值点
mathematica吧
全部回复
仅看楼主
level 7
我做出了一个函数图像,具体代码如下:
eq = -3 x u^2 + (2 x (-1 + u)^2)/(-1 + x u)^3 - (
2 (-1 + x)^2 u)/(-1 + x u)^2 + (4 (-1 + x))/(-1 + x u) + (
x (-2 + u + x^3 u^4 + x (2 + u^2) - x^2 (u + 2 u^3))^2)/(
2 (-1 + x)^2 (-1 + x u)^3);
Plot[-((x (-2 + u + x^3 u^4 + x (2 + u^2) - x^2 (u + 2 u^3)))/(
2 (-1 + x u)^2)) /. FindRoot[eq, {x, 1/3}], {u, 0, 1},
AxesOrigin -> {0, 0}, AxesOrigin -> {0, 0}];
输出的图像如下:
现在我想精确的找出图像上使函数值最大的 u(即横坐标)是多少,请问有什么办法吗?
我想到的一个办法是直接求目标函数
-((x (-2 + u + x^3 u^4 + x (2 + u^2) - x^2 (u + 2 u^3)))/(
2 (-1 + x u)^2)) /. FindRoot[eq, {x, 1/3}] 在定义域 0<=u<=1 上的最大值点。我写的代码是:
ArgMax[{-((x (-2 + u + x^3 u^4 + x (2 + u^2) - x^2 (u + 2 u^3)))/(
2 (-1 + x u)^2)) /. FindRoot[eq, {x, 1/3}], 0 <= u <= 1}, u].
但是MMA提示代码错误。
请问
正确的
代码应该是什么?如何才能求出这个函数图像的最大值点(对应的u的数值)呢?
2022年03月11日 05点03分 1
level 7
这个题目可以再转化的更直白一些:
已知 u∈[0,1]。设 x∈[0,1] 是 方程 -3 x u^2 + (2 x (-1 + u)^2)/(-1 + x u)^3 - (2 (-1 + x)^2 u)/(-1 + x u)^2 + (4 (-1 + x))/(-1 + x u) + (x (-2 + u + x^3 u^4 + x (2 + u^2) - x^2 (u + 2 u^3))^2)/(2 (-1 + x)^2 (-1 + x u)^3) = 0 的根,因此 x 是 u 的函数。求关于 u 的函数 -((x (-2 + u + x^3 u^4 + x (2 + u^2) - x^2 (u + 2 u^3)))/(2 (-1 + x u)^2)) 在 u∈[0,1] 上的最大值点 u*.
我写的代码是:
eq = -3 x u^2 + (2 x (-1 + u)^2)/(-1 + x u)^3 - (
2 (-1 + x)^2 u)/(-1 + x u)^2 + (4 (-1 + x))/(-1 + x u) + (
x (-2 + u + x^3 u^4 + x (2 + u^2) - x^2 (u + 2 u^3))^2)/(
2 (-1 + x)^2 (-1 + x u)^3);
ArgMax[{-((x (-2 + u + x^3 u^4 + x (2 + u^2) - x^2 (u + 2 u^3)))/(
2 (-1 + x u)^2)) /. FindRoot[eq, {x, 1/3}], 0 <= u <= 1}, u].
但是MMA提示代码错误,程序无法运行。请教大家正确的代码应该是什么?
2022年03月11日 08点03分 3
level 3
NArgMax[-((x (-2 + u + x^3 u^4 + x (2 + u^2) -
x^2 (u + 2 u^3)))/(2 (-1 + x u)^2)), {x, u}]
-((x (-2 + u + x^3 u^4 + x (2 + u^2) -
x^2 (u + 2 u^3)))/(2 (-1 + x u)^2)) /. Thread[Rule[{x, u}, %]]
2022年03月12日 04点03分 4
你好!这个代码有问题。题目里需要满足 x∈[0,1] 是 方程 -3 x u^2 + (2 x (-1 + u)^2)/(-1 + x u)^3 - (2 (-1 + x)^2 u)/(-1 + x u)^2 + (4 (-1 + x))/(-1 + x u) + (x (-2 + u + x^3 u^4 + x (2 + u^2) - x^2 (u + 2 u^3))^2)/(2 (-1 + x)^2 (-1 + x u)^3) = 0 的根。但是您的代码是计算无条件极值。
2022年03月13日 02点03分
你的代码运行结果是:x=0.539189, u=0.269594. 但是此时并不满足 -3 x u^2 + (2 x (-1 + u)^2)/(-1 + x u)^3 - (2 (-1 + x)^2 u)/(-1 + x u)^2 + (4 (-1 + x))/(-1 + x u) + (x (-2 + u + x^3 u^4 + x (2 + u^2) - x^2 (u + 2 u^3))^2)/(2 (-1 + x)^2 (-1 + x u)^3) = 0
2022年03月13日 02点03分
吧务
level 10
没有u的取值的话FindRoot根搜索是给不出结果的
直接把等式约束跟0<u<1写一块
2022年03月14日 09点03分 5
1