NSolve 与根
NSolve vs Roots
我需要在 Mathematica 中计算以下表达式:
(1/((3 + E^(4 k))^8))
2 (1 + E^(4 k))^2 k (729 + E^(24 k) + 210 k + 2 E^(20 k) (9 + 7 k) +
4 E^(12 k) (135 + 49 k) + 6 E^(4 k) (243 + 61 k) +
E^(16 k) (135 + 82 k) + E^(8 k) (1215 + 284 k)) == k
其中 E 是指数。在 Maple 中,使用 Roots(function(k)=k,k,numeric) 很简单,但在 Mathematica 中,运行.
花费的时间太长
你知道我怎么解k吗?答案应该是 0.2788....
我们需要事先找到近似解。
从图中我们可以看到有两个解 - 接近 0 和 0.2。
Plot[(1/((3 + E^(4 k))^8))
2 (1 + E^(4 k))^2 k (729 + E^(24 k) + 210 k +
2 E^(20 k) (9 + 7 k) + 4 E^(12 k) (135 + 49 k) +
6 E^(4 k) (243 + 61 k) + E^(16 k) (135 + 82 k) +
E^(8 k) (1215 + 284 k)) - k, {k, -1, 1}]
您可以使用 FindRoot
.
FindRoot[(1/((3 + E^(4 k))^8))
2 (1 + E^(4 k))^2 k (729 + E^(24 k) + 210 k +
2 E^(20 k) (9 + 7 k) + 4 E^(12 k) (135 + 49 k) +
6 E^(4 k) (243 + 61 k) + E^(16 k) (135 + 82 k) +
E^(8 k) (1215 + 284 k)) == k, {k, 0.2}]
其中 0.2
是我们的近似解。我们得到:
{k -> 0.278869}
您可以将计算限制为实数解。此解决方案耗时 0.1 秒。
Timing[
NSolve[(1/((3 + E^(4 k))^8)) 2 (1 + E^(4 k))^2 k (729 + E^(24 k) +
210 k + 2 E^(20 k) (9 + 7 k) + 4 E^(12 k) (135 + 49 k) +
6 E^(4 k) (243 + 61 k) + E^(16 k) (135 + 82 k) +
E^(8 k) (1215 + 284 k)) == k, k, Reals]]
{0.109375, {{k -> 0.}, {k -> 0.278869}}}
我需要在 Mathematica 中计算以下表达式:
(1/((3 + E^(4 k))^8))
2 (1 + E^(4 k))^2 k (729 + E^(24 k) + 210 k + 2 E^(20 k) (9 + 7 k) +
4 E^(12 k) (135 + 49 k) + 6 E^(4 k) (243 + 61 k) +
E^(16 k) (135 + 82 k) + E^(8 k) (1215 + 284 k)) == k
其中 E 是指数。在 Maple 中,使用 Roots(function(k)=k,k,numeric) 很简单,但在 Mathematica 中,运行.
花费的时间太长你知道我怎么解k吗?答案应该是 0.2788....
我们需要事先找到近似解。
从图中我们可以看到有两个解 - 接近 0 和 0.2。
Plot[(1/((3 + E^(4 k))^8))
2 (1 + E^(4 k))^2 k (729 + E^(24 k) + 210 k +
2 E^(20 k) (9 + 7 k) + 4 E^(12 k) (135 + 49 k) +
6 E^(4 k) (243 + 61 k) + E^(16 k) (135 + 82 k) +
E^(8 k) (1215 + 284 k)) - k, {k, -1, 1}]
您可以使用 FindRoot
.
FindRoot[(1/((3 + E^(4 k))^8))
2 (1 + E^(4 k))^2 k (729 + E^(24 k) + 210 k +
2 E^(20 k) (9 + 7 k) + 4 E^(12 k) (135 + 49 k) +
6 E^(4 k) (243 + 61 k) + E^(16 k) (135 + 82 k) +
E^(8 k) (1215 + 284 k)) == k, {k, 0.2}]
其中 0.2
是我们的近似解。我们得到:
{k -> 0.278869}
您可以将计算限制为实数解。此解决方案耗时 0.1 秒。
Timing[
NSolve[(1/((3 + E^(4 k))^8)) 2 (1 + E^(4 k))^2 k (729 + E^(24 k) +
210 k + 2 E^(20 k) (9 + 7 k) + 4 E^(12 k) (135 + 49 k) +
6 E^(4 k) (243 + 61 k) + E^(16 k) (135 + 82 k) +
E^(8 k) (1215 + 284 k)) == k, k, Reals]]
{0.109375, {{k -> 0.}, {k -> 0.278869}}}