2017-10-25 18 views
0

に基づいて異なる時点での2つの正弦波が、私は以下のように異なる時点での2つの正弦波があります:あなたが見ることができるように補間サイクルパーセントMATLAB

t1=1:10; 
y1=sin(t1); 
per1=100./t1; 

t2=1:12; 
y2=sin(2*t2); 
per2=100./t2; 

を、y変数の一つは、12時間点を持っており、もう1つは10だけです。各範囲を1つのサイクルと見なして百分率で表現すると、同じ0〜100%のスケールに10と12の時間ポイントの正弦波を入れて合計したいと思います。

このテクニックを使用して、私は2つの正弦波を追加しますが、時間に基づいてではなくサイクルのパーセンテージに基づいています。

答えて

1

一般的な軸をいくつか作成し、補間(例:interp1)を使用してこれらの点のすべての値を近似する必要があります。その後、それらを追加することができます。

% Your data, but with smaller intervals so it doesn't look like junk! 
t1 = 1:0.01:10; y1 = sin(t1); 
t2 = 1:0.02:12; y2 = sin(2*t2); 
% Interpolation to the highest number of points 
N = max(numel(t1), numel(t2)); 
y1interp = interp1(t1, y1, linspace(min(t1), max(t1), N), 'linear'); 
y2interp = interp1(t2, y2, linspace(min(t2), max(t2), N), 'linear'); 
% Put on a common percentage axes with N points 
pct = linspace(0, 1, N); 
% Plot (or do whatever else!) 
figure; hold on; 
plot(pct, y1interp, '--r'); 
plot(pct, y2interp, '--b'); 
plot(pct, y1interp + y2interp, '-k'); 
hold off; 

出力

output

注:についてNyquist's theoremを読むことをお勧めします - あなたは補間のためのサンプル一般的な数を増やすことを検討すべきで、N、私がきたものに、おそらく二回中古品です。

関連する問題