任文藝,姜建剛,張社奇,王國棟,解迎革,杜光源
(1.西北農(nóng)林科技大學(xué),陜西 楊凌 712100;2.長江師范學(xué)院, 重慶 涪陵 408100)
?
基于Matlab的點電荷系中的靜電場三維可視化研究
任文藝1,2,姜建剛1,張社奇1,王國棟1,解迎革1,杜光源1
(1.西北農(nóng)林科技大學(xué),陜西 楊凌712100;2.長江師范學(xué)院, 重慶 涪陵408100)
摘 要:基于Matlab提出了一種點電荷系電場強度和電勢的三維可視化方法,使得對于點電荷系電場能夠得到更加直觀的認知,為點電荷系靜電場的研究和教學(xué)提供了一種新方法。
關(guān)鍵詞:點電荷系;電場強度;電勢;可視化
(1)
(2)
(3)
(4)
綜合(2)、(4)兩式即可以求出一個電荷系中的電場強度和電勢的分布。
在電場強度和電勢的研究中,為了使我們能夠得到更加直觀的了解,國內(nèi)外許多學(xué)者和機構(gòu)開展了電磁場的可視化研究。通過計算機語言,將電場和電勢以直觀的圖像展現(xiàn)了出來,極大地促進了電場的科學(xué)研究和教學(xué)工作[4]。目前為止,已經(jīng)通過Matlab、C語言和C++語言等得到了實現(xiàn).研究的內(nèi)容主要是二維點電荷系的電場強度和電勢的分布研究,對于三維點電荷系的研究不足,尚未見到相關(guān)的可視化研究[5-8]。本文基于Matlab語言,將對三維空間點電荷系的電場強度和電勢分布情況進行可視化研究[9]。
1可視化實現(xiàn)步驟
以8電子構(gòu)成的靜電場為研究對象,假定該8個電子的空間位置依次為:(1,1,1),(-1,1,1),(1,-1,1),(1,1,-1),(-1,-1,1),(-1,1,-1),(-1,-1,-1),(1,-1,-1)。也即這8個電子位于邊長為2、中心坐標為(0,0,0)的立方體的八個頂點上.則得到該帶點系電勢和電場強度分布的方法如下:
步驟一:依據(jù)(4)式求空間點的電勢,在MATLAB中通過for循環(huán)語句完成電勢疊加的過程,運用contourslice繪圖函數(shù)得到三維等勢線圖;
步驟二:依據(jù)(2)式求電場強度,在MATLAB中有函數(shù)gradient可以實現(xiàn)標量場求梯度,利用streamslice繪圖函數(shù)得到三維電場線圖.
2Matlab實現(xiàn)代碼
clc;
clear;
close all;
N_q = 8;%靜電荷數(shù)
k = 4*pi*8.85418787e-9; %庫倫常數(shù)
Q = [1 1 1 1 1 1 1 1]*1e-19; %初始化電荷帶電量
%初始化電荷坐標
x0 = [1 -1 1 1 -1 -1 -1 1];
y0 = [1 1 -1 1 -1 1 -1 -1];
z0 = [1 1 1 -1 1 -1 -1 -1];
%建立三維空間格點
[x,y,z] = meshgrid(-2:0.1:2);
% -------------求空間點的電勢-------------
L = length(-2:0.1:2);
U = zeros(L,L,L);
fori = 1:length(Q)
U = U+Q(i)./k./sqrt( (x-x0(i)+0.00001).^2+(y-y0(i) …
+0.00001).^2+(z-z0(i)+0.00001).^2);
end
% ------------繪制電勢的三維等勢線--------
contourslice(x,y,z,U,-1:0.5:1,-1:0.5:1,-1:0.5:1,10,'spline');
xlabel('x(m)')
ylabel('y(m)')
zlabel('z(m)')
shadinginterp
hold on
% ------------繪制點電荷--------
fori = 1:N_q
[x1,y1,z1] = sphere;
mesh(x1/10+x0(i),y1/10+y0(i),z1/10+z0(i))
if Q(i)>=0
colormap hsv
else
colormap gray
end
end
alpha(0.5)
axis([-2,2,-2,2,-2,2])
view(3)
% ------------求電場強度-----------
[Ex,Ey,Ez]=gradient(U,0.1,0.1,0.1);
% ------------繪制電場線-----------
figure
streamslice(x,y,z,-Ex,-Ey,-Ez,x0,y0,z0)
xlabel('x(m)')
ylabel('y(m)')
zlabel('z(m)')
colormap hsv;
hold on
% -----------繪制點電荷--------
fori = 1:N_q
[x1,y1,z1] = sphere;
mesh(x1/10+x0(i),y1/10+y0(i),z1/10+z0(i))
colormap hsv
end
alpha(0.5)
axis([-2,2,-2,2,-2,2])
view(3)
3處理結(jié)果
基于以上的MATLAB程序,我們得到了8個正電子帶電系的電勢(如圖1所示)和電場強度(如圖2所示)分布圖,并給出了對應(yīng)的二維分布圖??梢钥闯?,三維曲線更加全面和準確地反映了電勢和電場強度的物理性質(zhì)(如等勢面、電場方向等)。
圖1 8電子帶電系的電勢的三維和二維分布圖
圖2 電場強度三維和二維分布圖
4結(jié)論
文章中的方法具有一定的普遍性,它適用于空間任意多個、任意帶電量的帶點體系。對于任意電荷的帶電體系,在可視化過程中只需要改變其對應(yīng)的空間坐標和帶電量即可以得到其電場的三維分布圖。
參考文獻:
[1]郭杰榮,蔡新華,胡惟文.基于MATLAB的空間電磁分布可視化研究[J].實驗技術(shù)與管理,2005,22(8):4-7.
[2]楊習(xí)志.利用Matlab研究點電荷間的電勢與電場強度的分布問題[J].物理教師,2015,36(4):69-73.
[3]矯洪楠,侯恕.電偶極子激發(fā)的電場及其MATLAB軟件的模擬仿真[J].物理通報,2014(10):27-29.
[4]唐軍杰,王愛軍,趙昆,等.Matlab在電磁場可視化教學(xué)中的應(yīng)用[J].物理與工程,2013,23(1):42-45.
[5]楊能彪.Mathematic在圓形波導(dǎo)電磁場可視化中的應(yīng)用[J].甘肅科技,2006,22(8):117-118.
[6]唐美.帶電圓環(huán)的Matlab可視化電場解析及模擬[J].湖北第二師范學(xué)院學(xué)報,2012,29(8):65-66.
[7]畢升,葉紅軍.基于MATLAB的靜電場模擬[J].大學(xué)物理實驗,2013,26(4):89-91.
[8]王福謙.線電荷與帶有半圓柱凸起的接地導(dǎo)體所形成的電場[J].大學(xué)物理,2010,29(6):15-17.
[9]劉志成,等.Matlab可視化在大學(xué)物理實驗中的應(yīng)用[J].大學(xué)物理實驗,2015(1):10-11.
The Study on the Three Dimensional Visualization of Static Electric Field in Point Charge System Based on Matlab
REN Wen-yi1,2,JIANG Jian-gang1,ZHANG She-qi1,WANG Guo-dong1,XIE Ying-ge1,DU Guang-yuan1
(1.Northwest A&F Univ.,Shaanxi Yangling 712100;2.Yangtze Normal Univ.,Chongqing Fuling 408100)
Abstract:A method was proposed to present the electric field intensity and potential distribution of point charge system in three dimensional space based on Matlab.It made the static electric field explicit for the students and provided us an alternative approach to the study and teaching on static electric field.
Key words:point charge system;electric field intensity;potential;visualization
中圖分類號:O 4-39
文獻標志碼:A
DOI:10.14139/j.cnki.cn22-1228.2016.001.026
文章編號:1007-2934(2016)01-0101-03
基金項目:國家自然科學(xué)基金青年基金(11504297);西北農(nóng)林科技大學(xué)15年第二批基本科研業(yè)經(jīng)費(2452015225)(2452015226);西北農(nóng)林科技大學(xué)博士科研啟動基金(Z109021504)(Z109021508)
收稿日期:2015-08-24