how can i align two arrays according to their clock
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
song
el 22 de Oct. de 2014
Comentada: song
el 23 de Oct. de 2014
i have 2 sets of data A and B . both A and B is a 4096*2 vector. the first col is data ,second col is Corresponding sample clock.
if true
% code
[data(:,1),time(:,1)]=textread('1.txt','%n%n');
[data(:,2),time(:,2)]=textread('2.txt','%n%n');
end
i plot the data and it looks like Fig 1
if true
% code
plot(data);
end
Fig1
I also plot the clock in Fig2
i want to align the data1 and data 2 according to their clok , how can i do.
0 comentarios
Respuesta aceptada
Matt Tearle
el 22 de Oct. de 2014
Editada: Matt Tearle
el 22 de Oct. de 2014
If by "align the data" you mean you want both data1 values and data2 values at some common time values, then you will probably need to interpolate both vectors onto a time vector of your choosing. This could be a little tricky given that the first 1000 values of time(:,1) and time(:,2) are pretty much constant but not equal, but anyway, in general you want to do something like this:
N = 2000;
t = linspace(min(time(:)),max(time(:)),N); % make a vector of times
data1 = interp1(time(:,1),data(:,1),t); % interpolate first column of data onto t
data2 = interp1(time(:,2),data(:,2),t); % interpolate second column of data onto t
plot(t,data1)
hold on
plot(t,data2)
Now you have both data1 and data2 with N points, at the time values given in t. You can be fancier about how you make t, such as using intersect or union.
[If by "align" you just mean see them aligned on the plot, then just do what Orion suggested.]
Más respuestas (1)
Ver también
Categorías
Más información sobre Bar Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!