吳 柯
摘要:在MATLAB6.5集成開發(fā)環(huán)境下,開發(fā)了一個可視化演示系統(tǒng),將點(diǎn)電荷、電荷極子、機(jī)械振動等物理方程的計(jì)算機(jī)可視化求解集成于一體。
關(guān)鍵詞:MATLAB點(diǎn)電荷電偶極子機(jī)械振動可視化
1基本的物理規(guī)律和方程
系統(tǒng)對點(diǎn)電荷、電偶極子、機(jī)械振動、畢奧一薩伐爾定律、單縫衍射等物理問題,進(jìn)行可視化演示和描述。
(1)點(diǎn)電荷的電勢和電場強(qiáng)度
其中r為電荷到測量點(diǎn)的距離。i、j為x,y等方向的單位向量。
(2)電偶極子的電場
兩個大小相等符號相反的點(diǎn)電荷+q和-q,當(dāng)它們之間的距離為re比討論中所涉及的距離小很多時(shí),這一電荷系統(tǒng)就稱為電偶極子。連結(jié)兩電荷的直線稱為電偶極子的軸線,電荷量q與矢量re的乘積定義為電偶極矩,簡稱電矩,電矩是矢量,用pe表示,即pe=qre,電

對于受迫振動以彈性振子為研究對象考慮粘滯阻力的影響,其受迫振動滿足二階非齊次線性常微分方程:

2演示系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于MATLAB的可擴(kuò)展性,對各個物理問題進(jìn)行全面分析,將各個問題的MATLAB程序?qū)懗珊瘮?shù)形式,根據(jù)函數(shù)的參數(shù)特點(diǎn)設(shè)置控件,在本系統(tǒng)中,利用m代碼文件直接生成界面。MATLAB提供的menu已有文件打開、保存、圖形輸出、圖形打印、圖形標(biāo)注等一般功能。為了使功能設(shè)計(jì)不重復(fù),沿用了menu的功能。再設(shè)計(jì)出電場、波動與振動、磁場、光學(xué)等主菜單。
用函數(shù)uimenu建立菜單項(xiàng),在uimenu函數(shù)中設(shè)置菜單層次結(jié)構(gòu)、菜單名、標(biāo)簽等。界面的左上區(qū)設(shè)置為顯示區(qū),右區(qū)為控制區(qū),左下區(qū)為微型命令窗口區(qū)。在本系統(tǒng)中,主要用到了flame、popupmenu、text、edit、slider、push、listbox等控件。控件對事件的響應(yīng)也是通過函數(shù)調(diào)用實(shí)現(xiàn)的。
利用MATLAB的一些默認(rèn)設(shè)置功能,如當(dāng)前程序不對軸屬性設(shè)置時(shí),程序就會用默認(rèn)的軸,或用先前設(shè)置過的軸屬性。系統(tǒng)界面及點(diǎn)電荷電勢演示。系統(tǒng)的部分源代碼如下:
golobalmcwHndl h_readme h_axes htext hslider;