2017-06-20 25 views
0

第一次使用MATLAB用戶。我在程序中有以下一行代碼:fprintf(' %f \n', theta);,結果如下:54368060014147057099990006162582731726551435187805485739626788851124752751305908629414787531387170724584430890347208920495727355767424024576.000000 96634004613961676168033871650545168736179521715016065704930661265088994623792769400086691341222852173497032761334151797022979375128799175802329679263694848.000000 96634004613961604716879918495205400175451911092618320604570340258974396712180229146522112641753397515611983395520602911824055392738443597616851179928551424.000000MATLAB/Octave不會縮短長號碼

雖然我現在的格式設置得很短,但它仍然會打印這些非常長的數字。我能做些什麼來打印出'5.4368e + 139'之類的東西?

類似問題here,但我不能使用VPA因爲我沒有Symbolic Math Toolbox

回答

1

不要因爲它是fprintf你應該修改裏面的數字表示。所以,你可以這樣寫:

fprintf('%.5e',theta);