Arrays 用Imagesc Matlab从细胞阵列生成图像
我有一个称为output的单元数组(3x4),每个单元中包含一个1024x1024矩阵。我想绘制输出{1,:}中的4个矩阵。此外,我还有一个名为dinfo的结构,它相应地包含每个矩阵的名称(带有matrix names=“name”的字段)。我希望每个图像都有自己的名字。以下是我迄今为止编写的代码:Arrays 用Imagesc Matlab从细胞阵列生成图像,arrays,matlab,matrix,cell,Arrays,Matlab,Matrix,Cell,我有一个称为output的单元数组(3x4),每个单元中包含一个1024x1024矩阵。我想绘制输出{1,:}中的4个矩阵。此外,我还有一个名为dinfo的结构,它相应地包含每个矩阵的名称(带有matrix names=“name”的字段)。我希望每个图像都有自己的名字。以下是我迄今为止编写的代码: for i = 1:length(output{1,:}) figure imagesc(output{1,i}); colormap('jet') colorb
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个结果”
有没有想过如何解决这两个错误
感谢您的时间:)
输出{1,:}
是一个;它包含输出
第一行的1024个矩阵,因此长度
有1024个参数。获取列数的最佳方法是使用size(…,2)
:
至于第二个错误,
dinfo.name
;可能它也是一个逗号分隔的列表,因为dinfo
是一个结构数组。尝试使用dinfo.name
而不是dinfo.name(i)
太棒了!我真的很感谢你简洁而有益的回答!
for i = 1:size(output,2)
figure
imagesc(output{1,i});
colormap('jet')
colorbar;
end