2

2 つのグラフがあり、1 つは測定 (graph2)、もう 1 つはシミュレーションの結果 (graph1) です。それらをMatlabの1つの図にプロットする必要がありますが、問題はグラフ1にサンプルがあり、グラフ2にx軸に割り当てられた時間値があることです。サンプルから時間を作成する方法、または時間からサンプルを作成して同じグラフにプロットする方法は?

ここに画像の説明を入力

この上の写真はGraph1で、下の写真はGraph2です。

ここに画像の説明を入力

0 になる時間は次のとおりです。

グラフ1: x=3444

グラフ2: x=259

4

1 に答える 1

1

あなたの問題は、一方のプロットがサンプルのインデックスをその値として使用し、もう一方のプロットxが実際の時間を値として使用することだと思いますx

x両方のx-axが同じ量で記述されるようにするには、-axisをスケーリングする必要があります。サンプルの採取方法の詳細はわかりませんが、簡単な例を次に示します。

figure(1), clf, hold on

% some example data
x1 = 0:0.1:2*pi;  
y1 = sin(x1);    

x2 = 0:numel(x1);    % add a bit of noise, just for kicks
y2 = sin(2*pi*x2/numel(x1)) + 0.02*randn(size(x2));    

% plot naively
subplot(1,2,1), hold on
plot(x1, y1, 'r')
plot(x2, y2, 'b')    

% plot w/ re-scaled x-axis
subplot(1,2,2), hold on
plot(x1, y1, 'r')

x2 = linspace(min(x2(:)), max(x1(:)), numel(x2));

plot(x2, y2, 'b')

出力: 出力例

繰り返しますが、xデータを再スケーリングする方法の具体的な実装は、実験の詳細によって異なります。それらを対応させるには、おそらく少しいじくり回す必要があります。

于 2012-12-06T09:29:54.037 に答える