2016-10-25 146 views
1

我需要在數學評估以下表達式:NSolve VS根

(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,numeric)進行了簡單的處理,但在Mathematica中運行需要很長時間。

你知道我如何解決k?答案應該是0.2788 ....

回答

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}] 

plot.png

您可以使用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

這是很好的。但是如果我不知道答案接近0.2的話呢? – Nusc

+0

就像我確信Mathematica與Maple一樣,它可以快速做到。我錯過了什麼嗎? – Nusc

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}}}