我想知道如何绘制具有 2 个电荷 Q 和 -Q 及其总 E 的图,对于特定点(例如(4,5)),轮廓为 f..
我的M文件实际上扫描了该区域(从-3x到3x)并计算每个点的E,将其存储在表中,但在此之后,我不知道如何使用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
根据库仑定律,单个离散电荷 q 在距离 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
根据您的需要调整情节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)