实验一
实验目的和要求:学习矢量的定义方法(例A=[1,2,3]),加减运算,以及点积dot(A,B)、叉积cros s (A,B)、求模运算n orm(A)。
实验内容:
1、通过调用函数,完成下面计算【p31,习题1.1】。
给定三个矢量A 、B 和C 如下:
23452x y z
y z
x z A e e e B e e C e e =+-=-+=-
求(1)A e ;(2)||A B -; (3)A B ⋅; (4)AB θ (5)A 在B 上的投影 (6)A C ⨯; (7)()A B C ⋅⨯和()C A B ⋅⨯; (8)()A B C ⨯⨯和()A B C ⨯⨯
程序如下:
A=[1,2,-3];
B=[0,-4,1];
C=[5,0,-2];
ea=A/norm(A)
T2=norm(A-B)
T3=dot(A,B)
theta=acos(dot(A,B)/(norm(A)*norm(B))) theta*180/pi
T5=norm(A)*cos(theta)
T6=cross(A,C)
T71=dot(A, cross(B,C))
T72=dot(cross(A,B), C)
T81=cross(cross(A,B),C)
T82=cross(A,cross(B,C))
运行如图:
结果如下:
2、三角形的三个顶点位于A(6,-1,2), B(-2,3,-4), C(-3, 1,5)点,求(1)该三角形的面积;(2)与该三角形所在平面垂直的单位矢量。
程序如下:
A=[6,-1,2];
B=[-2,3,-4];
C=[-3, 1,5];
n=cross(B-A, C-A);
S=1/2*norm(n)
en=n/norm(n)
结果如图:
3、在直角坐标系中,在点P(3,4,2)处的电场强度为423x y z E e e e =++。
求E 在柱坐标下的表达式。
程序如下:
p=[3,4,2];
rou=[p(1), p(2), 0];
erou=rou/norm(rou);
ez=[0,0,1];
ephai=cross(ez,erou);
A=[4,2,3];
Arou=dot(A,erou)
Aphai=dot(A,ephai) Az=dot(A,ez)
结果如下:
实验二 静电场
1、真空中四个点电荷分别位于点P1(1,1,0),P2(-1,1,0),P3(-1,-1,0),P4(1,-1,0),它们所带的电荷量都是3nC (纳库仑),求在点P(1,1,1)处产生的电场强度E 。
实验代码:epson0=8.854187817e-12;
q=3e-9;
p1=[1,1,0];
p2=[-1,1,0];
p3=[-1,-1,0];
p4=[1,-1,0];
p=[1,1,1];
r1=p-p1;
r2=p-p2;
r3=p-p3;
r4=p-p4;
E=q/(4*pi*epson0)*(r1/norm(r1)^3+r2/norm(r2)^3+r3/norm(r3)^3+r4/norm(r4)^3)
所以 6.8205 6.820532.7845x y z E e e e =++
2、画图:点电荷产生的电场
在半径为r的球面上画出点电荷产生电场的矢量图。
(使用绘图函数surf(X,Y,Z,0*Z); quiver3(X,Y,Z,X,Y,Z);)
程序代码:
r=1;
i=0;
for theta=(0:20:180)*pi/180
i=i+1;
j=0;
for phai=(0:20:360)*pi/180
j=j+1;
X(i,j)=r*sin(theta)*cos(phai);
Y(i,j)=r*sin(theta)*sin(phai);
Z(i,j)=r*cos(theta);
end
end
surf(X,Y,Z,0*Z);
hold on;
quiver3(X,Y,Z,X,Y,Z);
3、画出电偶极子的等位面和电力线(在xy平面内)。
程序代码:
g=10;
x=-g:g;
y=-g:g;
[X,Y]=meshgrid(x,y);
d=0.5;
r1=sqrt(X.^2+(Y-d).^2);
r2=sqrt(X.^2+(Y+d).^2);
rf=sqrt(X.^2+Y.^2).^3;
phai=(r2-r1)./(r2.*r1)*1e4;
contour(X,Y,phai,100);
hold on
[FX, FY]=gradient(phai,1);
quiver(X,Y, -FX.*rf,-FY.*rf);
实验3有限差分法求电位
用有限差分法求下图中各点的电位
程序代码:
u=[100,100,100,100,100;
0,75,75,75,0;
0,50,50,50,0;
0,25,25,25,0;
0,0,0,0,0];
v=u;
i=2:size(u,1)-1;
j=2:size(u,2)-1;
for k=1:100000
v(i,j)=1/4*(u(i-1,j)+u(i+1,j)+u(i,j-1)+u(i,j+1)); u(i,j)=1/4*(v(i-1,j)+v(i+1,j)+v(i,j-1)+v(i,j+1)); err=max(max(abs(u-v)));
if err<1e-8
break ;
end ;
end
u
k
0ϕ=0ϕ=0ϕ=100ϕ=
所以结果是:
142.8571
ϕ=,
252.6786
ϕ=,
342.8571
ϕ=
418.75
ϕ=,
525
ϕ=,
618.75
ϕ=
77.1429
ϕ=,
89.8214
ϕ=,
97.1429
ϕ=
实验总结:电磁学比较难学,要把抽象的东西具体化就得动手实验,去发现它的奥妙之处。
通过对这门课程的概念学习以及上机操作,不仅加深了我对电磁学的理解,同时也熟悉了对MATLAB的运用。