在Matlab中绘制单个图中的许多函数

时间:2015-04-25 23:51:09

标签: matlab loops plot figure

在Matlab中我有以下形式的数据:

k1=[1 2 3 ...]
f1=[34 23 12 ...]
k2=[ ... ]
f2=[ ... ]
k3=
f3=
...

要绘制k1(f1),我使用

plot (k1,f1) 

如何在一张图上简单地绘制所有k#(f#),而不是每次都调用plot

谢谢

1 个答案:

答案 0 :(得分:1)

要编写多个变量,使用plot以获得同一图形上的多个变量,遵循以下模式..

k1=[1 2 3 ...]
f1=[34 23 12 ...]
k2=[ ... ]
f2=[ ... ]
k3=
f3=

figure
plot (k1,f1,k2,f2,k3,f3) 

编辑1: 由于您的数据采用矢量形式,如您的问题所示,然后将它们连接成kf组将允许您迭代循环并将每个数组中所需的列相互匹配。 。

我在下面的评论中将此信息的来源作为youtube的链接,然后决定将其添加到此处以方便使用。

f1 = [34 23 12];
f2 = [5 6 7];
f3 = [18 22 34];

k1 = [1 2 3];
k2 = [3 5 6];
k3 = [8 3 2];

k = cat(1, k1, k2, k3);
f = cat(1, f1, f2, f3);

[~, col] = size(k);

hold on;

for kk = 1 : col

    plot(k(:,kk), f(:,kk))

end

results of code from EDIT1