单个矩阵列/行/元素的句柄 - Matlab

时间:2012-09-18 15:25:50

标签: matlab

我目前正在使用Matlab,我正在绘制矩阵行的内容,其中每列是一个独立的数据集。由于矩阵很大,我不想完成单独编写每个数据集的绘图标签的tedius任务,所以我想知道是否有一种特定的方法来为每个列包含一个句柄/名称这样一种方式它会自动应用图标签,如果在矩阵中添加或删除列,它会相应调整吗?

谢谢!

细节,如果有帮助: 光纤放大器中的放大自发辐射(ASE)。行充当离散的ASE光谱的存储,列是沿光纤放大器的给定位置(正是这个位置 - 沿着光纤对应于列的距离 - 我想用作标签)并且每个元素包含权力信息。该图给出了光纤中ASE沿其长度的不同位置的光谱功率。

1 个答案:

答案 0 :(得分:0)

如果通过标签表示情节图例,则可以使用单元格来完成。考虑矩阵A

A = repmat([1:3], 3, 1)

A =

 1     2     3
 1     2     3
 1     2     3

您可以调用plot来绘制矩阵的列

plot(A);

在这里,您将在y = 1,2和3处获得3条水平线。您可以按如下方式创建图例

l{1} = 'dataset1';
l{2} = 'dataset2';
l{3} = 'dataset3';

然后键入

legend(l)

显示传奇。但是,没有人会为您创建图例,因此您必须自己创建单元格数组。当然,您可以自动执行此操作,例如上面的图例可以通过简单的循环

创建
for i=1:size(A, 2)
   l{i} = ['dataset' num2str(i)];
end