使用 Imagesc Matlab 从单元格阵列生成图像



我有一个单元格数组(3 x 4(,称为输出,每个单元格包含一个1024 x 1024矩阵。我想在 ouput{1,:} 中绘制 4 个矩阵。此外,我有一个结构,称为 dinfo,它相应地包含每个矩阵的名称(矩阵名称的字段 = "名称"(。我希望每个图像都以其名称命名。这是我到目前为止编写的代码:

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 个结果"。

关于如何解决这两个错误的任何想法?

感谢您抽出宝贵时间:)

output{1,:}是一个逗号分隔的列表;它包含第一行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)

最新更新