2013-11-22 2 views
0

У меня есть массивы (векторы (1 ... k)) с различными размерами каждый a[1,4], b[1,7], c[1,9] , которые содержат указатели значений, которые я хотел бы построить.plot различные массивы вместе (время sincronization) в matlab

мне нужно построить все эти значения на одном участке - так что если массив a представляет значения в первые 4 секунды и b представляет его в следующем 7 секунду - то мне нужно, во-первых нарисовать a значений на 1-4 второго интервала (это I сделали)), но мне нужно, чтобы график для значений b начинался также с 1 секунды (и до 7) на том же участке (я использую удержание, но все еще не могу синхронизировать время) и тот же для c ..

Я уже написал цикл для этого массива «разбор», и он работает - проблема синхронизации времени

dataCell ; % it is inited in this step same is for timeval and dataArr (this two has the same dimensions) 
figure % new picture) 
hold on % on the same plot 
for l=1:length(data) % for all cells 
pointer=dataCell{1,l}; % point to cell element (array) 
for n =1: length(pointer) %loop for all inner elements 
plot(timeval(pointer(n)),dataArr(pointer(n)),'b') % <- this is plots OK but no any synchronization 
end 
end 
+0

вы могли бы включать в себя какой-то код? – Federico

+0

Я предоставляю свой код – curiousity

+0

являются 'timeval' и' dataArr' матрицы? как вы инициализируете 'dataCell'? что такое 'данные'? – Federico

ответ

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) 
0

вы говорите

если массив a представляет значения в первые 4 секунды и b представляет это в следующие 7 секунд - тогда я ред первых рисовать a значения на 1-4-секундного интервала (это я сделал)), но мне нужно, что сюжет для b значений начнется также с 1 секунды (и 7) на том же участке

и

timeval is array [1..n] и dataArr также array [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')