2011-12-15 20 views
2

私は2つの電荷Qと-Qとその特定の点(例えば(4,5))の合計Eをグラフに描き、輪郭線を描く方法を知りたいと思います。 私のMファイルは実際にあなたが必要とする(-3xから3倍まで)の領域をスキャンし、すべてのスポットのためのEを計算し、テーブルに格納しますが、この後、私はそれを描画するためにcontourfを使用する方法がわからない...Matlabでcontourfを使って電場をシミュレートして描画する方法は?

syms i 
syms j 
syms d 
d=input('dwse thn timi tou d,ths apostashs') 
j=0 
i=0 
for j=-d:d/1000:d 

    j=j+1 

for i=-d:d/1000:d 

    i=i+1 
    z=(i,j) 

end, end 

答えて

3

としてあなたforループ後contourfを呼び出します距離rにおいて次式で与えられる。

E = q /(4 * pi * e0 * r。^ 2);

複数の費用がある場合は、重ね合わせの原則を使用して、各請求の貢献度を追加することができます。

残っている唯一のことは、電界を計算するためのグリッドを作成することです。このためには、Matlab関数meshgridを使用することができます。

MATLABで簡単な例は次のようになります。

k=1/4/pi/8.854e-12; 
d=2; 
q=[-1 1]; 
x=[-d/2 d/2]; 
y=[0 0]; 

dx=0.01; 
X=(-d:dx:d); 
Y=(-d:dx:d); 
[X Y]=meshgrid(X,Y); 

E=zeros(size(X)); 

for i=1:numel(q) 
    r=sqrt((X-x(i)).^2+(Y-y(i)).^2); 
    E=E+k*q(i)./r.^2; 
end 

E(isinf(E))=NaN; 

figure; 
contourf(X,Y,E); 
axis image; 

それはあなたのお役に立てば幸いです。 contourfのドキュメントを読んで、必要に応じてプロットを調整することができます。

+0

あなたの返信とあなたの時間のためにたくさんのおかげで! コメントを追加していただけますか?私はEを計算するためにそれを修正する方法を理解していない、すべてのスポットのフィールドの強さに応じて異なる色でそれを描く.. 私はこれを得る:http://img513.imageshack.us/img513/4607/matlabpap .jpg – alextsil

1

あなたの質問にいくつかの情報を追加する:あなたは何を持っているのですか?何を試しましたか?

しかし、z(i,j)が2Dグリッド上で計算し、あなたの電場であると仮定すると、ちょうどクーロンの法則、単一、個別の電荷qによって作成された電界に基づいて

contourf(z) 
+0

実際にループを使って配列を埋める方法はわかりません。 2つの電荷-Q(-d/2,0)とQ(d/2,0)があり、その距離はdです。 x(-2d、2d)y(-2d、2d)のすべての点についてEtotalの結果を配列にして、contourfを使用する必要があります。紛失しました:/ – alextsil

+1

@zwoskasereあなたが解決している/方程式のこれは宿題のように私に聞こえる - それは? – Chris

+0

私は方程式を持っている、私はちょうどmatlabのループ内の配列を埋める方法を知りません..その物理学宿題 – alextsil

関連する問題