作者siang820420 (大德)
看板comm_and_RF
标题[请益] 有关MATLAB画电力线
时间Mon Mar 25 00:35:13 2013
小的最近在用matlab画电荷的电力线但是做出来为什麽r>1的地方没有电力线呢?
能否请高手教导我程式要怎麽改
谢谢
我的程式如下:
clear %清除变量
E0=8.85e-12; %真空介电系数
C0=1/4/pi/E0;
q=1.6*10^(-19); %电荷电量
q=-2; %电量比
xm=2.5; %横坐标范围
ym=2; %纵坐标范围
x=linspace(-xm,xm); %横坐标向量
y=linspace(-ym,ym); %纵坐标向量
[X,Y]=meshgrid(x,y);
R1=sqrt((X+1).^2+Y.^2);
R2=sqrt((X-1).^2+Y.^2);
U=1./R1+q./R2;
u=1:0.5:4;
figure %创图形
grid on %加网格
legend(num2str(u')) %图例
hold on %保持图像
plot([-xm;xm],[0;0]) %水平线
plot([0;0],[-ym;ym]) %垂直线
plot(-1,0,'o','MarkerSize',12) %画第一电荷
plot(1,0,'o','MarkerSize',12) %画第二电荷
[Ex,Ey]=gradient(-U,x(2)-x(1),y(2)-y(1));%梯度
dth1=20;
th1=(dth1:dth1:180-dth1)*pi/180;
r0=0.1; %电力线起点半径
x1=r0*cos(th1)-1; %电力线起点横坐标
y1=r0*sin(th1); %电力线起点纵坐标
streamline(X,Y,Ex,Ey,x1,y1) %画左上电力线
streamline(X,-Y,Ex,-Ey,x1,-y1) %画左下电力线
dth2=dth1/q;
th2=(180-dth2:-dth2:dth2)*pi/180;
x2=r0*cos(th2)+1;
y2=r0*sin(th2);
streamline(X,Y,Ex,Ey,x2,y2)
streamline(X,-Y,Ex,-Ey,x2,-y2)
axis equal tight %刻度相等
title('电力线分布','fontsize',20)
xlabel('r','fontsize',16) %显示横坐标
ylabel('E(U)','fontsize',16) %显示横坐标
end
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.160.39.177