我想画几条曲线,每条都有不同的长度。所以,我将每条曲线作为数组放在单元格索引Y中(这允许我在FOR循环中索引不同大小的数组)。我使用下面的“hold all”使FOR循环的每次迭代都能在同一个图中绘制单元格数组Y中的每个新数组。
hold all;
for i = 1:1:length(maxusers)
time = increment*(0:1:length(Y{i})-1);
plot(time,Y{i,1,:});
end
虽然在这里使用单元格数组确实简化了在Y中绘制各种曲线的过程,但我遇到的问题是创建图例。目前我正在使用一个非常长/难看的switch语句来覆盖所有可能的场景,但是
认为
应该有一个更优雅的解决方案。
如果我有一个数组(例如,maxusers=4),它是:
filesize = [10 100 200 300];
我知道legend Matlab命令的作用是:
legend(num2str(filesize(1)),num2str(filesize(2)),num2str(filesize(3)),num2str(filesize(4)));
但是当曲线的数量是maxusers给定的变量时,我就无法创建一个legend命令。有什么想法吗?提前谢谢。