我需要在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完成(函数(k)= k,k,数字),但在Mathematica中,运行时间太长。
你知道我怎么解决k?答案应该是0.2788 ......
答案 0 :(得分:1)
我们需要先找到近似的解决方案。
从图中我们可以看到有两种解决方案 - 接近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}
答案 1 :(得分:1)
您可以将计算限制为实数解决方案。这个解决方案需要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}}}