2010-11-15 113 views
2

我有包含55列和24行的数据。我想要做的是每1列图5列。 (更具体地说...列1-5图1,列6-10图2 ....等等)多列分组和绘图

每次我尝试for循环时,我都迷路了。谁能帮我? 这似乎很简单,但我仍然在学习如何使用matlab。

谢谢您的HEP

回答

3

您可以遍历的5组:

my_array = zeros(24,55); 
% fill my_array 

for k = 1:11 
    values_to_plot = my_array(:,5 * (k-1) + 1 : 5 * k); 
    figure; 
    plot(values_to_plot); 
end 
+0

您似乎有逆转行和列。 – gnovice 2010-11-15 16:57:42

+0

这可能性更大:-) – 2010-11-15 18:56:51

+0

@gnovice:fixed – 2010-11-15 18:57:22

1

要绘制每列作为一个单独的图形,在5组一个数字,您可以使用此:

A = rand(24,55); % the size of your array 
for k=1:11 
    firstCol = (k-1)*5+1; 
    lastCol = k*5; 
    figure 
    plot(A(:,firstCol:lastCol)); 
end 

注意,A(:,c)是A的第c列,A(:,C1:C2)从C1到C2的列,包括端值。