2011-12-15 6 views

답변

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

당신이 필요로하는 .. 영역을 스캔 (-3x에서 3 배) 모든 자리 E를 계산, 저장을 테이블에 있지만,이 후, 나는 그것을 그릴 contourf를 사용하는 방법을 모른다 귀하의 질문에 몇 가지 더 많은 정보를 제공합니다 : 당신은 어떤 문제가 있습니까? 너 뭐 해봤 니?

그러나, z(i,j)는 2 차원 격자 계산하여 전기장라고 가정하면, 단지 쿨롱의 법칙, 하나의 개별 충전 Q에 의해 생성 된 전기장을 바탕으로

contourf(z) 
+0

실제로 배열을 루프로 채우는 방법을 모르겠다. 두 개의 -Q (-d/2,0) 및 Q (d/2,0)가 있으며 거리는 d입니다. x (-2d, 2d) y (-2d, 2d)의 모든 점에 대해 Etotal의 결과를 가진 배열을 만든 다음 contourf를 사용해야합니다. 잃어버린 경우 :/ – alextsil

+1

@zwoskasere 당신이 풀고/사용하고있는 방정식의. 숙제를 좋아한다는 소리가 들리는가요? – Chris

+0

방정식을 가지고, 난 그냥 matlab에 루프 내에 배열을 작성하는 방법을 모릅니다 .. 물리학 숙제 – alextsil

관련 문제