Really! fprintf cell error

3 次查看(过去 30 天)
function []=printresults2file(shape)
fid=fopen('ChangyuLiu.txt','wt');
fprintf(fid, 'The number of entered objects was %d \n', size(shape,1));
fprintf(fid,'%s \t\t %s \t\t %s \t\t %s\n','No.','ID','Color','Area');
for i=1:size(shape,1)
fprintf(fid, '%d %s %s %f',shape{i,:});
fprintf('\n');
end
fclose(fid);
end
This is a sub-function I used to output a table in .txt file. However, the error kept pumping up as
Error using fprintf
Function is not defined for 'cell' inputs.
I wonder what's causing the problem.
  6 个评论
Changyu Liu
Changyu Liu 2020-4-2
>> disp(shape(1,:))
[1] {1×1 cell} {1×1 cell} [3.1416]
James Tursa
James Tursa 2020-4-3
So that is your answer, two of the cell elements are themselves cells, and you can't feed those directly to fprintf.

请先登录,再进行评论。

采纳的回答

James Tursa
James Tursa 2020-4-3
What happens if you change this
fprintf(fid, '%d %s %s %f',shape{i,:});
to this
fprintf(fid, '%d %s %s %f',shape{i,1},shape{i,2}{1},shape{i,3}{1},shape{i,4});

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by