簡體   English   中英

matlab的fortran格式等效項

[英]matlab's fortran's format equivalents

什么是matlab的等價於

write(1,'("Speed, resistance, power",3f8.2)')(a(i),i=1,3)

我試過了

a = [10. 20. 200.]
fprintf(unit1,'a = 3%8.1e',a)

但我仍然遇到麻煩(整個matlab輸出格式化的東西)。


編輯肯尼:對於上述a的值,它將給出(在新行中):

Speed, resistance, power   10.00   20.00  200.00

我使用1作為fileID寫入命令窗口,並在最后插入換行符,因為它更漂亮,但這應該可以再現您想要的內容

a = [10,20,200;20,30,300];

fprintf(1,'Speed, resistance, power%8.2f%8.2f%8.2f\n',a')

Speed, resistance, power   10.00   20.00  200.00
Speed, resistance, power   20.00   30.00  300.00

編輯

假設數組a的維數未知。 進一步假設我們要逐行打印

a = [10,20,200;20,30,300];

%# find number of columns
nCols = size(a,2);

%# create format string for fprintf. Use repmat to replicate the %8.2f's
fmtString = ['Speed, resistance, power',repmat('%8.2f',1,nCols),'\n'];

%# print
fprintf(1,fmtString,a')

Speed, resistance, power   10.00   20.00  200.00
Speed, resistance, power   20.00   30.00  300.00

注意:這會在同一行上打印一個接一個的所有行(感謝@JS)。

fprintf('Speed, resistance,power')
fprintf('%8.2f',a')
fprintf('\n')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM