write a matrix to a text file

1 回表示 (過去 30 日間)
Arash
Arash 2011 年 6 月 22 日
I'd like to write a matrix into a text file, but I don't want elements with NaN value appear in the file, instead I want an empty space for each NaN value, here is a part of the matrix:
  1. 1 NaN NaN NaN NaN
  2. 3 4 4 NaN NaN
  3. 6 1 NaN NaN NaN
  4. 2 2 NaN NaN NaN
  5. 4 4 5 NaN NaN
  6. 6 2 3 2 NaN
thanks!
  1 件のコメント
Walter Roberson
Walter Roberson 2011 年 6 月 22 日
Are the NaN certain to be at the end of the line? If not then a different method would have to be used.

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

採用された回答

Laura Proctor
Laura Proctor 2011 年 6 月 22 日
I wrote the following code which writes it line by line. Do you need the line breaks to be as they are in the original matrix? If not, then a FOR loop wouldn't be necessary.
A = [ 1 NaN NaN NaN NaN
3 4 4 NaN NaN
6 1 NaN NaN NaN
2 2 NaN NaN NaN
4 4 5 NaN NaN
6 2 3 2 NaN ]
fid = fopen('stuff.txt','w+');
for idx = 1:size(A,1)
line = A(idx,~isnan(A(idx,:))); % creates the line of data without NaNs
fprintf(fid,[repmat('%d ',1,length(line)),'\n'],line);
end
fclose(fid);
  2 件のコメント
Arash
Arash 2011 年 6 月 22 日
thanks! could you please explain a little bit about "[" on the line: fprintf(fid,[repmat('%d ',1,length(line)),'\n'],line);
what exactly brackets do?
Walter Roberson
Walter Roberson 2011 年 6 月 22 日
The [] are horizontal concatenation in this contexts. Building up a string by parts.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCell Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by