Plotting the same signal with a different scanning

1 次查看(过去 30 天)
Hello,
One time i measure a signal for 30 seconds with 50 Hertz and the second time i measure the same signal 30 seconds now with 600 Hertz. So i get 2 arrays (x*2 double) with a different size. Now i want to plot this 2 signals in one diagram. Is this possible?

采纳的回答

EmirBeg
EmirBeg 2021-5-27
编辑:EmirBeg 2021-5-27
You can interpolate one of the signals to make them the same size. Something like this:
Signal1 = (linspace(1,30,30))';
Signal2 = (linspace(1,30,180))'; %don't mind this, just creating your signals with different frequencys
Signal1_int = interp1(1:size(Signal1,1),Signal1.',linspace(1,size(Signal1,1),size(Signal2,1)))';
%interpolating the first signal so it's the same size as the second
Now you can plot both signals in one plot.
plot(t,Signal1_int,t,Signal2);
Or just use hold on and hold off.

更多回答(1 个)

Asmit Singh
Asmit Singh 2021-5-27
If I understood correctly, you are trying to plot 2 signals in a single graph. This documentation should be helpful. You can plot 2 signals in a single graphs using 'hold on'.
x = linspace(-pi,pi);
y1 = sin(x);
plot(x,y1)
hold on
y2 = cos(x);
plot(x,y2)
hold off

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by