MATLAB/Octave 不会缩短长号
MATLAB/Octave wont shorten long number
第一次使用 MATLAB。我在程序中有以下代码行:fprintf(' %f \n', theta);
,结果是:54368060014147057099990006162582731726551435187805485739626788851124752751305908629414787531387170724584430890347208920495727355767424024576.000000
96634004613961676168033871650545168736179521715016065704930661265088994623792769400086691341222852173497032761334151797022979375128799175802329679263694848.000000
96634004613961604716879918495205400175451911092618320604570340258974396712180229146522112641753397515611983395520602911824055392738443597616851179928551424.000000
.
虽然我目前的格式设置为短,但它仍然打印这些很长的数字。我该怎么做才能让它打印出类似“5.4368e+139”的内容?
类似的问题here,但是我不能使用VPA
因为我没有Symbolic Math Toolbox
因为它是 fprintf
你应该修改里面的数字表示。所以,你可以这样写:
fprintf('%.5e',theta);
第一次使用 MATLAB。我在程序中有以下代码行:fprintf(' %f \n', theta);
,结果是:54368060014147057099990006162582731726551435187805485739626788851124752751305908629414787531387170724584430890347208920495727355767424024576.000000
96634004613961676168033871650545168736179521715016065704930661265088994623792769400086691341222852173497032761334151797022979375128799175802329679263694848.000000
96634004613961604716879918495205400175451911092618320604570340258974396712180229146522112641753397515611983395520602911824055392738443597616851179928551424.000000
.
虽然我目前的格式设置为短,但它仍然打印这些很长的数字。我该怎么做才能让它打印出类似“5.4368e+139”的内容?
类似的问题here,但是我不能使用VPA
因为我没有Symbolic Math Toolbox
因为它是 fprintf
你应该修改里面的数字表示。所以,你可以这样写:
fprintf('%.5e',theta);