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.

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

カテゴリ

Help Center および File ExchangeCorrelation and Convolution についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by