吳 柯
摘要:在MATLAB6.5集成開發(fā)環(huán)境下,開發(fā)了一個(gè)可視化演示系統(tǒng),將點(diǎn)電荷、電荷極子、機(jī)械振動(dòng)等物理方程的計(jì)算機(jī)可視化求解集成于一體。
關(guān)鍵詞:MATLAB點(diǎn)電荷電偶極子機(jī)械振動(dòng)可視化
1基本的物理規(guī)律和方程
系統(tǒng)對(duì)點(diǎn)電荷、電偶極子、機(jī)械振動(dòng)、畢奧一薩伐爾定律、單縫衍射等物理問題,進(jìn)行可視化演示和描述。
(1)點(diǎn)電荷的電勢(shì)和電場(chǎng)強(qiáng)度
其中r為電荷到測(cè)量點(diǎn)的距離。i、j為x,y等方向的單位向量。
(2)電偶極子的電場(chǎng)
兩個(gè)大小相等符號(hào)相反的點(diǎn)電荷+q和-q,當(dāng)它們之間的距離為re比討論中所涉及的距離小很多時(shí),這一電荷系統(tǒng)就稱為電偶極子。連結(jié)兩電荷的直線稱為電偶極子的軸線,電荷量q與矢量re的乘積定義為電偶極矩,簡(jiǎn)稱電矩,電矩是矢量,用pe表示,即pe=qre,電
對(duì)于受迫振動(dòng)以彈性振子為研究對(duì)象考慮粘滯阻力的影響,其受迫振動(dòng)滿足二階非齊次線性常微分方程:
2演示系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于MATLAB的可擴(kuò)展性,對(duì)各個(gè)物理問題進(jìn)行全面分析,將各個(gè)問題的MATLAB程序?qū)懗珊瘮?shù)形式,根據(jù)函數(shù)的參數(shù)特點(diǎn)設(shè)置控件,在本系統(tǒng)中,利用m代碼文件直接生成界面。MATLAB提供的menu已有文件打開、保存、圖形輸出、圖形打印、圖形標(biāo)注等一般功能。為了使功能設(shè)計(jì)不重復(fù),沿用了menu的功能。再設(shè)計(jì)出電場(chǎng)、波動(dòng)與振動(dòng)、磁場(chǎng)、光學(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等控件??丶?duì)事件的響應(yīng)也是通過函數(shù)調(diào)用實(shí)現(xiàn)的。
利用MATLAB的一些默認(rèn)設(shè)置功能,如當(dāng)前程序不對(duì)軸屬性設(shè)置時(shí),程序就會(huì)用默認(rèn)的軸,或用先前設(shè)置過的軸屬性。系統(tǒng)界面及點(diǎn)電荷電勢(shì)演示。系統(tǒng)的部分源代碼如下:
golobalmcwHndl h_readme h_axes htext hslider;