我正在寻找一种显示单元格数组内容而不是celldisp
的方式,它给出了一个输出,如下例所示:
celldisp(stuff)
和典型的输出:
stuff{1} =
10 70 20 50 50 90 90 30 30 60
stuff{2} =
80 50 50 50 30 90 40 60 50 60 20 20
stuff{3} =
20 90 10 80 20 30 30 70
我宁愿像这样打印出来:
10 70 20 50 50 90 90 30 30 60
80 50 50 50 30 90 40 60 50 60 20 20
20 90 10 80 20 30 30 70
这可能吗?非常感谢帮助!
答案 0 :(得分:2)
一种方法可能是使用num2str
,如果没有提供格式说明符,它会自动用空格填充条目。您可以通过循环fprintf
调用来利用此行为。
例如:
stuff{1} = [10, 70, 20, 50, 50, 90, 90, 30, 30, 60];
stuff{2} = [80, 50, 50, 50, 30, 90, 40, 60, 50, 60, 20, 20];
stuff{3} = [20, 90, 10, 80, 20, 30, 30, 70];
for ii = 1:numel(stuff)
fprintf('%s\n', num2str(stuff{ii}));
end
产生:
>> iheartSO
10 70 20 50 50 90 90 30 30 60
80 50 50 50 30 90 40 60 50 60 20 20
20 90 10 80 20 30 30 70
如果你想成为紧凑型的东西,你也可以使用等效的cellfun
电话:
cellfun(@(x)fprintf('%s\n', num2str(x)), stuff);