Using fprintf to store large square matrices

So I've had trouble finding any information about this. Basically I need to store an M x M matrix to a file. I usually use the following to store data:
fname = fopen('data.dat', 'w');
fprintf(fname, '%d\n', mydata);
fclose(fname);
Which works for column/row vectors. But from the documentation I can only gather that to store a matrix I would need to have '%d %d ... %d\n' M times in the FORMAT specifier, which seems ridiculous?
I can make do by 'unpacking' the 1 x M^2 vector that the above code produces (when 'mydata' is an M x M matrix) but it seems unnecessary.
Thanks!

 採用された回答

KSSV
KSSV 2018 年 1 月 1 日

1 投票

A = rand(3) ;
fprintf([repmat('%f\t', 1, size(A, 2)) '\n'], A');

2 件のコメント

Joppy
Joppy 2018 年 1 月 1 日
Thanks KSSV!
KSSV
KSSV 2018 年 1 月 1 日
You are welcome...:)

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

質問済み:

2018 年 1 月 1 日

コメント済み:

2018 年 1 月 1 日

Community Treasure Hunt

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

Start Hunting!

Translated by