在matlab中绘制不同的数组(时间同步)

时间:2013-11-22 08:19:36

标签: matlab plot

我有各自不同尺寸的数组(向量(1 ... k)) a[1,4], b[1,7], c[1,9] 包含我想要绘制的值的索引。

我需要在一个图上绘制所有这些值 - 所以如果数组a代表前4秒的值而b代表它在接下来的7秒 - 那么我首先需要绘制{{1}在1-4秒间隔的值(我已经完成))但我需要a值的图也将从同一图上的1秒(和7)开始(我使用保持但是仍然无法同步时间)和b ..

相同

我已经为这个数组“解析”编写了一个循环并且它可以工作 - 问题是时间同步

c

2 个答案:

答案 0 :(得分:1)

这会有用吗?

您的初始载体:

a = rand(1,4);
b = rand(1,7);
c = rand(1,9);
timestamp = 0:9;

hold all
plot(timestamp(1:numel(a)),a)
plot(timestamp(1:numel(b)),b)
plot(timestamp(1:numel(c)),c)

,如果我误解了:

d = [a, b(numel(a)+1:end), c(numel(b)+1:end)];
plot(timestamp,d)

答案 1 :(得分:0)

你说

  

如果数组a代表前4秒的值而b代表它在接下来的7秒内 - 那么我首先需要以1-4秒的间隔绘制a值(这是我有的)完成))但我需要b值的图也将从同一图上的1秒(和7)开始

  

timeval是数组[1..n],dataArr也是数组[1..n]。 dataCell包含从1到n的所选索引的数组。像[2,3,4] [5,6]等等

但你实施了

plot(timeval(pointer(n)),dataArr(pointer(n)),'b')

这将在时间戳a和时间戳[2,3,4]的时间戳b[5,6]上绘制plot(timeval(n),dataArr(pointer(n)),'b')

如果我正确地解释了您的请求,那么您实际需要的是

{{1}}