用matlab繪製電場線和等勢面如何做?

電荷在等邊三角形的頂點

如圖所示


(想來想去,還是用稍微規範一點的格式回答吧)

摘要:與繪製兩個點電荷的電場線和等勢面一樣,根據電場疊加原理,利用MATLAB可以繪製出二維平面內點電荷系的電場線與等勢面,根據題主的要求我們要以平面三個點電荷為例,藉助MATLAB來模擬它的物理圖像。

關鍵詞:等勢面、電場線、MATLAB模擬

(簡述)

工 具:MATLAB

基本原理:從電動力學中我們得知,若平面真空中存在若干點電荷,記為Q1、Q2、Q3...Qn,這個點電荷系在空間中激發的電磁場中於某一點p處電勢為

建立坐標系,令 Up=constant ,則有等勢面方程

我們根據等勢面的一般繪製要求,我們以等差數列的方式對不同的c取值。最後我們求出勢函數的梯度,據此電場線即可繪出。

關於程序:(1)依次取三個點電荷(按題主給的兩正一負等電量)

(2)根據公式(如下)計算p(x,y)點電勢。

(3) 繪製等勢面,主要程序:

U=1*q1./sqrt((X-x1).^2+(Y-y1).^2+eps) + 1*q2./sqrt((X-x2).^2+(Y-y2).^2+eps) + 1*q3./sqrt((X-x3).^2+(Y-y3).^2+eps);
S=-4:0.2:4; %設置電勢的等差數列
contour(X,Y,U,S); %繪製等勢線。

(4)繪製電場線,主要程序:

[Ex,Ey]=gradient(-U); %求勢函數梯度

最後是對程序與圖像做適當的調整。

模擬結果:(圖片格式,想要其他格式的可以留您的郵箱,稍後給您發送)

(其實這個早在許多年前就有人做出了類似的圖像,如圖3)

希望這些對您有所幫助。

~~~~~~~~~~~~~~~~~~~~分割線~~~~~~~~~~~~~咔咔咔~~~~~~~~~~~~~~~~~~~~~~

同理可以畫出它的三維圖像(這才是真正的等勢面,看著舒服了很多), 還有兩個點電荷的,想了想還是一起發出來吧,大家隨便看看就OK啦。

(1)處於同一平面三點電荷(以上面的那個為例)等勢面在空間的分布:

主要代碼:

[x,y,]=meshgrid(-5:0.2:5,-4:0.2:4); %建立數據網格
z=1./sqrt((x-2).^2+y.^2+0.01)+1./sqrt((x+2).^2+y.^2+0.01)-1./sqrt(x.^2+(y-2).^2+0.01); %電勢的表達式
mesh(x,y,z) %三維曲面繪圖

(2)空間中兩等電量同性點電荷等勢面空間分布:

主要代碼:

[x,y,]=meshgrid(-5:0.2:5,-4:0.2:4); %建立數據網格
z=1./sqrt((x-2).^2+y.^2+0.01)+1./sqrt((x+2).^2+y.^2+0.01)%電勢的表達式
mesh(x,y,z) %三維曲面繪圖

(3)空間中兩等電量異性點電荷等勢面空間分布:

主要代碼:

[x,y,]=meshgrid(-5:0.2:5,-4:0.2:4); %建立數據網格
z=1./sqrt((x-2).^2+y.^2+0.01)-1./sqrt((x+2).^2+y.^2+0.01)%電勢的表達式
mesh(x,y,z) %三維曲面繪圖

(4)處於同一平面電荷量為1庫倫、2庫倫的正電荷與3庫倫的負點電荷的等勢面空間分布:

主要代碼:(只需改變代碼中電荷量大小與正負號即可)

(5)直線電荷對的電場線與等勢面(平面圖):

主要代碼:(太長了,略)

~~~~~~~~~~~~~~~~~~~~~~附頁~~~~~~~~~~~~~~~~~~~~~`

代碼(圖片格式):

註:以上部分圖像原文件是fig格式的,可直接用MATLAB打開,想要的小夥伴留郵箱啦~~~

參考文獻:

【1】劉雅彬,魯小東.MATLAB對靜電場等勢線的最小二乘法繪製【J】.大學物理實驗,2013,2(26):82-84.

【2】向羅傑,王慧,趙釗.平面點電荷體系的電場線模擬【J】.實驗科學與技術,2010(6).

【3】江略,丁益民.基於OpenGL的三維電場線模擬【J】.大學物理實驗,2011(5).


推薦閱讀:

如何畫出兩個隱函數曲面的交線?
為什麼 MATLAB 矩陣為縱向存儲,有什麼好處?
常見的MATLAB初學者問題中,哪些讓你非常無語或者覺得值得吐槽?
關於機器學習的應用一般都用什麼語言和平台?具體到視頻分析用什麼軟體來分析?

TAG:編程 | MATLAB | 電場 |