i have to write a cell which has both numbers and strings in to a text file if i use %s the numeric values are not written properly. Can any one help Thanks in advance

 採用された回答

Wayne King
Wayne King 2012 年 11 月 6 日

1 投票

You can use ischar() to query which elements are strings and write those properly.

4 件のコメント

Walter Roberson
Walter Roberson 2012 年 11 月 6 日
Expanding on this a bit: use (~cellfun(@ischar,YourArray)) to create a logical index of the numeric positions. Use cellfun() on those positions, with an appropriate function such as @sprintf, in order to format those numeric positions as strings and write them back in the cell array in the form of strings. Now you have a cell array which is only strings and you can write it out.
Sharen H
Sharen H 2012 年 11 月 6 日
can u please give the syntax how to work i couldnot do it
Walter Roberson
Walter Roberson 2012 年 11 月 6 日
Letting C be your cell array, then:
TC = C;
cellisnum = ~cellfun(@ischar, TC);
TC(cellisnum) = cellfun(@num2str, TC(cellisnum), 'UniformOutput', false);
for R = 1 : size(TC,1)
fprintf(s, '%s ', TC{R,1:end-1));
fprintf(s, '%s\n', TC{R,end});
end
Sharen H
Sharen H 2012 年 11 月 6 日
Thanks a lot .. Walter Roberson ...Thank u so much

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Cell Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by