我有一个称为输出的单元阵列(3 x 4),每个单元格中包含1024 x 1024矩阵。我想在输出{1,:}中绘制4个矩阵。此外,我有一个名为dinfo的结构,它相应地包含每个矩阵的名称(具有矩阵名称=“name”的字段)。我希望每个图像都以其名称命名。这是我到目前为止编写的代码:
for i = 1:length(output{1,:})
figure
imagesc(output{1,i});
colormap('jet')
colorbar;
title(num2str(dinfo.name(i)))
end
我不断收到“长度有太多输入参数”的错误。如果我更改代码以避免与函数相关的长度错误:
for i = 1:4
figure
imagesc(output{1,i});
colormap('jet')
colorbar;
title(num2str(dinfo.name(i)))
end
我收到错误,“预计大括号或点索引表达式的一个输出,但有4个结果”。
有关如何解决这两个错误的任何想法?
感谢您的时间:)
答案 0 :(得分:1)
output{1,:}
是comma-separated list;它包含第一行output
的1024个矩阵,因此length
有1024个参数。获取列数的最佳方法是使用size(...,2)
:
for i = 1:size(output,2)
figure
imagesc(output{1,i});
colormap('jet')
colorbar;
end
至于第二个错误,dinfo.name
有问题;可能,它也是一个以逗号分隔的列表,因为dinfo
是一个结构数组。尝试使用dinfo(i).name
代替dinfo.name(i)
。