2016-03-22 10 views
0

データファイル内に多くの粒子があります。x、y、zと直径dです。1つのプロット内で複数のPDF(確率密度関数)が1つの軸に沿ってカーブする

私は1つのx位置(1つの平面内の粒子)についてPDFをプロットできますが、問題はありません。しかし、私がやりたいことは、写真に描いたように、x方向に沿ったいくつかの位置に粒子サイズのPDFをプロットすることです。

enter image description here

私は1つが異なる曲線を再スケーリングとシフトすることにより、これを行うことができますね、しかし行くには、よりスマートな方法がある場合、私は不思議でしたか?

+1

チェック 'subplot'を返します。あなたのスケッチのように、またはそれらをすべて同じ軸のペアに入れることを「保留」してください –

+0

あなたは何をしたいですか? –

答えて

1

hold onがトリガーされた単一のプロットを簡単に使用できます。
例を見てみましょう。私は(デモのために)3つの正規分布を生成してみましょう:

pdf1=makedist('Normal',1,2); 
pdf2=makedist('Normal',2,3); 
pdf3=makedist('Normal',3,4); 

v1=pdf(pdf1,[-10:10])+1; % x1 = 1 
v2=pdf(pdf2,[-10:10])+1.5; % x2 = 1.5 
v3=pdf(pdf3,[-10:10])+2; % x3 = 2 

だから我々は、(それぞれ)3つの[10±]の範囲で評価それぞれの値を持つPDFや値1によってシフト、1.52を持っています。
図を開き、3つのPDFをプロットすることができます。これらを「垂直」位置に置いているので、x値はy軸に、そしてviceversaにする必要があります。

figure(1) 
plot(v1,[-10:10],'r'); grid on; 
hold on; plot(v2,[-10:10],'g'); 
hold on; plot(v3,[-10:10],'b'); 
legend('PDF_1','PDF_2','PDF_3'); 
xlabel('x'); 
ylabel('d_{particle}'); 

、あなたはまた、点線を追加したい場合は、

hold on; plot(1*ones(1,length([-10:10])),[-10:10],'r--'); 
hold on; plot(1.5*ones(1,length([-10:10])),[-10:10],'g--'); 
hold on; plot(2*ones(1,length([-10:10])),[-10:10],'b--'); 

して上記のコードを完了することができますし、異なる軸を必要とする場合、このコードは enter image description here

+0

スケーリングが必要ではないかもしれないが、リスケーリングとシフティングについて言及したとき、私が気にしていたものだ。素晴らしい例、感謝Alessiox! – tkekesi

+0

実際にはリサイズは必要ありません。 'xlim()'と 'ylim()'のおかげで、手動で軸のサイズを変更することもできます。 – Alessiox

+0

ああ、私の心配が以前にあったことを忘れてしまった。これは必要である。私の場合には、ある直径の粒子の正規化数をPDFにします。しかし、私は位置xに沿ってそれらをプロットしたい。 基本的には、私はPDFの形を必要とし、比例的に正しいサイズをお互いに比較する必要があります。しかし、それからまだ軸上のx。 – tkekesi

関連する問題