Matlab 在电磁场中的应用

更新时间:2023-05-16 05:32:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

matlab 在电磁场的一些应用实例

Matlab 在电磁场中的 应用2009.10

matlab 在电磁场的一些应用实例

一、单电荷的场分布单电荷的外部电位计算公式

q 4 0 r

等位线就是连接距离电荷等距离的点,在图上 表示就是一圈一圈的圆,而电力线就是由点向 外辐射的线,比较简单,这里就不再赘述。

matlab 在电磁场的一些应用实例

theta=[0:.01:2*pi]'; r=0:10; x=sin(theta)*r; y=cos(theta)*r; plot(x,y,'b') x=linspace(-5,5,100); for theta=[-pi/4 0 pi/4] y=x*tan(theta); hold on; plot(x,y); end grid on

matlab 在电磁场的一些应用实例

单电荷的等位线和电力线分布图

matlab 在电磁场的一些应用实例

二、点电荷电场线的图像

考虑一个三点电荷系所构成的系统。如图所示, 其中一个点电荷-q位于坐标原点,另一个-q位于y轴 上的点,最后一个+2q位于y轴的-点,则在xoy平面 内,电场强度应满足

. .

y -q-q +2q x

matlab 在电磁场的一些应用实例

E x, y

2qx qx qx i 3 3 3 4 0 y a 2 x 2 2 4 0 y 2 x 2 2 4 0 y a 2 x 2 2

2q y a q y a qx j 3 3 3 4 0 y a 2 x 2 2 4 0 y 2 x 2 2 4 0 y a 2 x 2 2

任意条电场线应满足方程 求解式(1)可得2( y a) [( y a)2 x 2 ]1 2

dy E y ( x , y ) dx E x ( x , y )

(1)

y ( y2 x2 )1 2

q( y a) [( y a)2 x 2 ]1 2

C(2)

matlab 在电磁场的一些应用实例

这就是电场线满足的方程,常数C取不同值将 得到不同的电场线。解出y=f(x) 的表达式再作图是 不可能的。用Matlab语言即能轻松的做到这一点, 如图2所示。其语句是: syms x y // 设置x,y变量; for C=0:0.1:3.0 ezplot(2*(y+1)/sqrt((y+1)^2+x^2)-y/sqrt(y^2+x^2)(y-1)/sqrt((y-1)^2+x^2)-C, [- 5,5,0.1]); hold on; end 其中取了a=1,C=0,0.1,0.2,……,3.0

matlab 在电磁场的一些应用实例

matlab 在电磁场的一些应用实例

三、线电荷产生的电位设电荷均匀分布在从z=-L到z=L,通过原点的 线段上,其密度为q(单位C/m),求在xy平面上的 电位分布。点电荷产生的电位可表示为 V Q / 4 r 0 是一个 标量。其中r为电荷到测量点的距离。线电荷所 产生的电位可用积分或叠加的方法来求。为此 把线电荷分为N段,每段长为dL。每段上电荷 为q*dL,看作集中在中点的点电荷,它产生的电 qdL 位为 dV 4 r 0 然后对全部电荷求和即可。

matlab 在电磁场的一些应用实例

把xy平面分成网格,因为xy平面上的电位仅取 决于离原点的垂直距离R,所以可以省略一维,只 取R为自变量。把R从0到10米分成Nr+1点,对每 一点计算其电位。 matlab程序 clear all; L=input(‘线电荷长度L=:’); N=input(‘分段数N=:’); Nr=input(‘分段数Nr=:’); q=input(‘电荷密度q=:’); E0=8.85e-12; C0=1/4/pi/E0;

matlab 在电磁场的一些应用实例

L0=linspace(-L,L,N+1); L1=L0(1:N);L2=L0(2:N+1); Lm=(L1+L2)/2;dL=2*L/N; R=linspace(0,10,Nr+1); for k=1:Nr+1 Rk=sqrt(Lm.^2+R(k)^2); Vk=C0*dL*q./R

k; V(k)=sum(Vk); end [max(V),min(V)] plot(R,V),grad

matlab 在电磁场的一些应用实例

输入: 线电荷长度L=:5 分段数N=:50 分段数Nr=:50 电荷密度q=:1

可得最大值和最小值为:

ans = 1.0e+010 *[9.3199 0.8654]

matlab 在电磁场的一些应用实例

线电荷产生的静电位分布图

matlab 在电磁场的一些应用实例

四、 计算平面上N个电荷之 间的库仑引力

建模: 由库仑定律:

F q1q2 / 4 0 r

3

matlab 在电磁场的一些应用实例

tyjyj5eyjtydjty

其分量的公式可以写成:

Fx q1q2 ( x2 x1 ) / 4 0 r r 2

3 3

Fy q1q2 ( y2 y1 ) / 4 0 r

( x2 x1 ) ( y2 y1 )

2

编写程序时,先输入电荷的数目,各电荷 的坐标及电荷量,再选一个电荷,求其它电 荷对它的作用力,叠加求合力。再选下一个 电荷,依次类推。

matlab 在电磁场的一些应用实例

Matlab程序:clear all; N = input('输入电荷数目N=:'); for ic = 1:N %输入给定条件 fprintf('----/n对电荷#%g\n',ic); rc = input('输入电荷位置[x,y](米):'); x(ic) = rc(1); %电荷ic的x坐标 y(ic) = rc(2); %电荷ic的y坐标 q(ic) = input('输入电荷量(库仑):'); end

matlab 在电磁场的一些应用实例

E0 = 8.85e-12; %真空中的常数 C0 = 1/(4*pi*E0); %合并常数 for ic = 1:N %循环计每个电荷所受的力 Fx = 0.0;Fy = 0.0; for jc = 1:N if(ic ~= jc) xij = x(ic)-x(jc);yij = y(ic)-y(jc); Rij = sqrt(xij^2+yij^2); Fx = Fx+C0*q(ic)*q(jc)*xij/Rij^3; Fy = Fy+C0*q(ic)*q(jc)*yij/Rij^3; end end

matlab 在电磁场的一些应用实例

fprintf('其它电荷作用在电荷#%g上的合力为: \n',ic); fprintf('x-分量:%gN\n',Fx); fprintf('y-分量:%gN\n',Fy); end本程序注意学会循环提示并输入参数的方 法,以及用双循环解决较复杂的计算过程 的编程问题。

matlab 在电磁场的一些应用实例

输入已知条件:

输入电荷数目N=3 -------对电荷#1 输入电荷位置[x,y](m):[1 2] 输入电荷量(库仑):2 -------对电荷#2 输入电荷位置[x,y](m):[1 1] 输入电荷量(库仑):1 -------对电荷#3 输入电荷位置[x,y](m):[3 3] 输入电荷量(库仑):3

matlab 在电磁场的一些应用实例

计算结果:

其它电荷作用在 # 1 上的合力为: X-分量为:-9.65102e+009N Y-分量为 1.31581e+010 其它电荷作用在 # 2 上的合力为: X-分量为:-2.38431e+009N Y-分量为 -2.03679e+010 其它电荷作用在 # 3 上的合力为: X-分量为:1.20353e+010N Y-分量为 7.20982e+009

matlab 在电磁场的一些应用实例

有限差分法处理电磁场问题在很多实际情况下,往往我们不知道 电荷的分布情况,而只知道边界的电位。 例如在静电场中的导体,边界是等位面, 但是表面上的电荷分布往往不一样,而且 很难求得。 如果我们想求导体附近的电场,这里 就介绍用差分法解电场的方法。

本文来源:https://www.bwwdw.com/article/cqc4.html

Top