- 相關推薦
(論文)matlab在電磁場中的應用
Matlab在電場中的應用
[摘要]Matlab是一種用于算法開發,數據可視化,數值分析及數值圖形生成的高級工具語言,它主要被應用于信號和圖像處理,通訊,控制系統設計,測試和測量等廣泛領域。基于MATLAB強大的繪圖和仿真功能,對物理學中電磁學中的等量同號點電荷的電場線的繪制和帶電粒子在均勻電磁場中的運動等問題進行仿真, 來簡便、直觀、高效分析物理問題。在本文中,用Matlab的功能使靜電場里的某些模型(電場強度電勢、電場線、等勢線、等勢面)可視化,方便了我們對有關靜電場的知識的學習,提高了我們對知識的理解和運用能力,本文主要是從圖像處理功能方面介紹了Matlab語言在靜電場一些問題中的應用。
【關鍵字】:
一、引言
靜電場中的電場線,等勢線,等勢面等圖形是一種抽象的模型,在現實世界不具可視化的空間場的物體。所以,形象的模擬出以上問題的圖形,對于更進一步學習與研究電場知識有很大的意義。靜電場的問題學習與理解起來具有一定的特殊性:它既有理論數值的計算,又有圖形圖像的輔助處理與理解。例如:形象的模擬出電場線,等勢線,等勢面,這能在教學中解決教師的授課難題,又能解決學生的理解上的困難。近年來,一直有人在不斷的探索這方面的問題,并且取得一定的成績。但還存在一定的缺陷,而Matlab恰好解決了這些問題!這使得這些抽象問題能有一門精確的工具軟件來處理完成。這正是Matlab在圖像方面問題處理的應用。
二、Matlab在電場中的應用
(1)等量點電荷的電場線的繪制
根據庫侖定律:在真空中,兩個靜止的點電荷之間的作用力與這兩個電荷的電量乘積成正比,與它們之間距離的平方成反比,作用力的方向在兩個電荷的連線上,兩電荷同號維斥力,異號為吸力,他們之間的力F滿足:
QQ F?k1
22 (1) R
由電場強度E的定義可知:
E?kQ (2) R2
建立電場線的微分方程(二維情況)。 因為電場中任一點的電場方向都沿該點電場線的切線方向,所以滿足:
dyEy? (3) dxEx
引入參變量t得到: dydx??dt (4) ExEy
設二點電荷位于(-2,0)和(2,0),二點電荷“電量”為q1和q2(均等于10), 由庫倫定律和電場的疊加原理,得出下列微分方程: x?dx?Ex?q1?x?2?
3?q2?x?2?3 (5) dt??x?2?2?y222??????x?2?2?y2??
y?dyq1ydt?Ey?3?q2y3 (6)
??x2??2?2?y2????x?2?2?y22???
解此方程就可以繪制出電場線。
clc
clear
q=0.5;
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
contour(X,Y,U,u) %畫等勢線
grid on %有網格
hold o
大學網 n %設置圖形保持狀態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 %題目
xlabel('x','fontsize',16) %X軸說明
ylabel('y','fontsize',16) %Y軸說明
txt=['電荷比:\itQ\rm_2/\itQ\rm_1='num2str(q)];
text(-xm,-ym+0.5,txt,'fontsize',16)
(2)、線電荷產生的電位:
設電荷均勻分布在從z=-L到z=L,通過原點的線段上,其密度為q(單位C/m),求在xy平面上的電位分布。
點電荷產生的電位可表示為 V?Q 是一個標量。其中r為電荷到測量點的距離。線電4?R?0
荷所產生的電位可用積分或疊加的方法來求。為此把線電荷分為N段,每段長為dL。每段上電荷為q*dL,看作集中在中點的點電荷,它產生的電位為 dV?qdL然后對全部電荷求和即可。 4?R?0
把xy平面分成網格,因為xy平面上的電位僅取決于離原點的垂直距離R,所以可以省略一維,只取R為自變量。把R從0到10米分成Nr+1點,對每一點計算其電位。
clc
clear all;
L=input(‘線電荷長度L= ’);
N=input(‘分段數N= ’);
Nr=input(‘分段數Nr= ’);
q=input(‘電荷密度q= ’);
E0=8.85e-12;
C0=1/4/pi/E0;
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./Rk;
V(k)=sum(Vk);
end
[max(V),min(V)]
plot(R,V),grid
(3)、計算平面上N個電荷之間的庫倫引力 由庫侖定律:F?q1q2 24??0r
Fx?q1q2?x2?x1? 4??0r3
q1q2?y2?y1? 34??0rFy?
r??x2?x1?2?y2?y12
先輸入電荷的數目,各電荷的坐標及電荷量,再選一個電荷,求其它電荷對它的作用力,疊加求合力。再選下一個電荷,依次類推。
clc
clear all;
disp('計算平面上n個點電荷之間的庫侖力的有關程序')
n=input('輸入電荷數目n=');
for ic = 1:n %輸入給定條件
fprintf('對電荷q%g\n',ic);%自動命名電荷q1,q2,?qn,分行顯示
rc = input('輸入電荷位置[x,y](米):');
x(ic) = rc(1); %電荷ic的x坐標
y(ic) = rc(2); %電荷ic的y坐標
q(ic) = input('輸入電荷量(庫侖):');
end
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;
F=sqrt(Fx^2+Fy^2);
end
end
fprintf('其它電荷作用在電荷q%g上的合力與分力分別為:\n',ic);
fprintf('F=%gN\n',F);
fprintf('Fx=%gN\n',Fx);
fprintf('Fy=%gN\n',Fy);
end
三、結論
從全文可以了解Matlab是一種有著強大的圖像繪制功能的可視化軟件。是一個為科學,教育,和工程數值計算等多方面設計的高級語言。它的特點是程序設計過程簡單,這使我們將我們將主要的,最難的工作還是放在工程問題上,這正是體現了它的優越性。圖像處理僅僅是Matlab功能一個方面的體現,他還有更強大的功能值得我們去學習與應用。
通過Matlab在靜電場中的實際運用,可以看出利用Matlab解決靜電場問題有以下優點:
(1) 介入Matlab,使得靜電場中抽象的問題清晰與明朗化。這在教學與研究當中是問題變得簡單。相比以往,學生更能形象的理解靜電場這方面的知識,將這一方法與工具應用到中學教學中可以更好的幫助學生學好電學知識。
(2) 通過這一問題的處理。由當初的學習電場到現在更深一步的探討,使得我對電場方面的知識有了更進一步的學習與理解。Matlab還有很多方面的應用,我們要繼續深入的學習Matlab來處理更多,更為復雜的問題。
參考文獻:
[1] 朱漢敏.MATLAB在靜電場教學中的優越性[M].中國期刊網,2005年第3期.
[2] 劉衛國.MATLAB程序設計與應用[M].北京:高等教育出版社,2006.
[3] 馬文蔚.物理學中冊(第四版)[M].北京:高等教育出版社,1999.
[4] 陳鍾賢.計算物理學[M].哈爾濱:哈爾濱工業大學出版社,2001.
[5] 張智星.MATLAB程序設計與應用[M].北京:清華大學出版社, 2002.
【(論文)matlab在電磁場中的應用】相關文章:
Matlab在遙感圖像雜散光處理中的應用04-30
基于MATLAB的DCT變換在JPEG圖像壓縮中的應用04-27
MATLAB回歸分析在測繪數據處理中應用04-28
基于Matlab的數據處理方法在GPS高程擬合中的應用05-01