2014-12-04 48 views
0

我使用Matlab來計算一個確定的積分,它涉及自然常數e作爲基礎。Matlab以多種形式輸出數字,而不是以浮點形式輸出

這是我的輸入和輸出:

>> syms t 
    >> f=t/10^5*0.001*exp(-0.001*t); 
    >> int(f,t,0,5000) 

    ans = 

    1/100 - (3*exp(-5))/50 

我很奇怪,爲什麼我得到多個方面,而不是一個數值結果的結果?有什麼辦法可以解決這個問題嗎?

+0

閱讀有關Matlab的[符號數學工具箱(http://www.mathworks.com/help/symbolic/getting-started-with-symbolic-math-toolbox.html)在這裏。或者,也許你不應該使用符號數學,在這種情況下,請看數字正交和['integral'](http://www.mathworks.com/help/matlab/ref/integral.html)函數。 – horchler 2014-12-04 16:22:58

回答

1

你不能這樣做嗎?

I = int(f,t,0,5000); 
double(I) 
+1

請參閱http://uk.mathworks.com/help/symbolic/double.html – am304 2014-12-04 12:02:43

+0

謝謝。那麼爲什麼Matlab不直接輸出確切的數字? – Bloodmoon 2014-12-04 12:09:48

+0

因爲你在做符號計算,所以結果是一個符號表達式。如果你想要一個數值結果,你必須將它轉換爲正確的數據類型。 – am304 2014-12-04 12:17:28

相關問題