求解函数不求解联立方程
Solve function not solving simultaneous equations
如何用 3 个联立方程求解一个问题?我下面显示的代码没有给出正确的结果。
我试图找到最大面积 (A),同时长度 x 和 y 都遵循以下 属性:2x + y = 960。
我已经看过文档了,看来我的参数格式是正确的。
Solve[{2 x + y == 960, A == x*y, D[A] == 0}, {x, y}]
我不确定这一点,但是对于 Solve 函数来说它可能太复杂而无法工作,因为它正在获取变量之一 (D[A]) 的导数。
但是我可以手工做这道题:
重新排列第一个方程,使 y = 960 - 2x
将 y 代入第二个等式,使得 A = x(960 - 2x) = 2x^2 + 960x
求导数:4x + 960 求解 4x + 960 = 0
x = 240
将x = 240代入y = 960 - 2x
y = 960 - 2(240) = 960 - 480 = 480
因此尺寸为 240 x 480。
我希望输出为 {240, 480}。谢谢:)
编辑:这是我在 mathematica 中输入的内容:
Clear[x, y, A]
Solve[{2 x + y == 960, A == x*y, D[A, x] == 0}, {x, y}]
OUT: {{x -> 1/2 (480 - Sqrt[2] Sqrt[115200 - A]),
y -> 480 + Sqrt[2] Sqrt[115200 - A]}, {x ->
1/2 (480 + Sqrt[2] Sqrt[115200 - A]),
y -> 480 - Sqrt[2] Sqrt[115200 - A]}
NMaximize[{x*y, 2 x + y == 960}, {x, y}]
OUT: {115200., {x -> 240., y -> 480.}}
试试这个
NMaximize[{x*y,2x+y==960},{x,y}]
这是用你的约束表达式最大化面积并且立即 returns x->240, y->480
当 Mathematica 需要知道您要微分的变量时,您遇到的困难是使用 D[A]
。
也许本文中的某些内容可以帮助您了解您的衍生品发生了什么。
编辑
看看Solve
要给什么:
Clear[x,y,A];
A == x*y;
D[A, x]
结果为 0。这是为什么呢?您正在求 A 关于 x 的导数,但 A 从未被赋予任何值,您只是声明 A 和 x*y 相等。于是
Clear[x,y,A];
{2 x + y == 960, A == x*y, D[A, x] == 0}
正在递交
{2*x + y == 960, A == x*y, True}
到 Solve
当 Solve
returns 里面有 A 的东西时,这可能不那么令人费解。
当 Mathematica 中的某些函数没有给您预期的结果或有意义的结果时,检查作为参数提供给该函数的确切内容始终是良好的第一步。
在 Mathematica 中做任何事情总是有多种方法,其中一些似乎根本没有意义
如何用 3 个联立方程求解一个问题?我下面显示的代码没有给出正确的结果。
我试图找到最大面积 (A),同时长度 x 和 y 都遵循以下 属性:2x + y = 960。
我已经看过文档了,看来我的参数格式是正确的。
Solve[{2 x + y == 960, A == x*y, D[A] == 0}, {x, y}]
我不确定这一点,但是对于 Solve 函数来说它可能太复杂而无法工作,因为它正在获取变量之一 (D[A]) 的导数。
但是我可以手工做这道题:
重新排列第一个方程,使 y = 960 - 2x
将 y 代入第二个等式,使得 A = x(960 - 2x) = 2x^2 + 960x
求导数:4x + 960 求解 4x + 960 = 0
x = 240
将x = 240代入y = 960 - 2x
y = 960 - 2(240) = 960 - 480 = 480
因此尺寸为 240 x 480。
我希望输出为 {240, 480}。谢谢:)
编辑:这是我在 mathematica 中输入的内容:
Clear[x, y, A]
Solve[{2 x + y == 960, A == x*y, D[A, x] == 0}, {x, y}]
OUT: {{x -> 1/2 (480 - Sqrt[2] Sqrt[115200 - A]),
y -> 480 + Sqrt[2] Sqrt[115200 - A]}, {x ->
1/2 (480 + Sqrt[2] Sqrt[115200 - A]),
y -> 480 - Sqrt[2] Sqrt[115200 - A]}
NMaximize[{x*y, 2 x + y == 960}, {x, y}]
OUT: {115200., {x -> 240., y -> 480.}}
试试这个
NMaximize[{x*y,2x+y==960},{x,y}]
这是用你的约束表达式最大化面积并且立即 returns x->240, y->480
当 Mathematica 需要知道您要微分的变量时,您遇到的困难是使用 D[A]
。
也许本文中的某些内容可以帮助您了解您的衍生品发生了什么。
编辑
看看Solve
要给什么:
Clear[x,y,A];
A == x*y;
D[A, x]
结果为 0。这是为什么呢?您正在求 A 关于 x 的导数,但 A 从未被赋予任何值,您只是声明 A 和 x*y 相等。于是
Clear[x,y,A];
{2 x + y == 960, A == x*y, D[A, x] == 0}
正在递交
{2*x + y == 960, A == x*y, True}
到 Solve
当 Solve
returns 里面有 A 的东西时,这可能不那么令人费解。
当 Mathematica 中的某些函数没有给您预期的结果或有意义的结果时,检查作为参数提供给该函数的确切内容始终是良好的第一步。
在 Mathematica 中做任何事情总是有多种方法,其中一些似乎根本没有意义