Dear All,
When I tried to use fprintf to print numerical data and char in the same row, here is my code:
fprintf(fileID, ' %7d %8d %6d %s %4.2f %s %4.2f %3.1f\r\n', [d1 d2 d3 d4' d5 d6' d7 d8]');
Unfortunately, I obtained the following error message:
Error using fprintf
Unable to convert 'string' value to 'int64'.
Would anyone could tell me how to fix this error?
Thanks a lot.
Benson

 採用された回答

Star Strider
Star Strider 2020 年 9 月 15 日

0 投票

Printing different variable classes (such as numeric and character), requires a loop:
for k = 1 : something
fprintf(fileID, ' %7d %8d %6d %s %4.2f %s %4.2f %3.1f\r\n', [d1(k) d2(k) d3(k) d4(k) d5(k) d6(k) d7(k) d8(k)]);
end
fclose(fileID);
... or something similar.
Experiment to get the desired result

2 件のコメント

Benson Gou
Benson Gou 2020 年 9 月 15 日
Using loop is not the cause of the problem. I tried to use loop, I still encountered the same problem.
By the way, using loop is not necessary to print more than 2 rows.
Thanks a lot, anyway.
Benson
Star Strider
Star Strider 2020 年 9 月 15 日
As always, my pleasure!

サインインしてコメントする。

その他の回答 (0 件)

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by