Plotting the same signal with a different scanning

1 回表示 (過去 30 日間)
Philipp Mueller
Philipp Mueller 2021 年 5 月 27 日
編集済み: EmirBeg 2021 年 5 月 27 日
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
  1 件のコメント
EmirBeg
EmirBeg 2021 年 5 月 27 日
can't do it if the arrays aren't the same size.

サインインしてコメントする。

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by