吳 柯
摘要:在MATLAB6.5集成開發(fā)環(huán)境下,開發(fā)了一個可視化演示系統(tǒng),將點電荷、電荷極子、機械振動等物理方程的計算機可視化求解集成于一體。
關鍵詞:MATLAB點電荷電偶極子機械振動可視化
1基本的物理規(guī)律和方程
系統(tǒng)對點電荷、電偶極子、機械振動、畢奧一薩伐爾定律、單縫衍射等物理問題,進行可視化演示和描述。
(1)點電荷的電勢和電場強度
其中r為電荷到測量點的距離。i、j為x,y等方向的單位向量。
(2)電偶極子的電場
兩個大小相等符號相反的點電荷+q和-q,當它們之間的距離為re比討論中所涉及的距離小很多時,這一電荷系統(tǒng)就稱為電偶極子。連結兩電荷的直線稱為電偶極子的軸線,電荷量q與矢量re的乘積定義為電偶極矩,簡稱電矩,電矩是矢量,用pe表示,即pe=qre,電
對于受迫振動以彈性振子為研究對象考慮粘滯阻力的影響,其受迫振動滿足二階非齊次線性常微分方程:
2演示系統(tǒng)設計與實現
基于MATLAB的可擴展性,對各個物理問題進行全面分析,將各個問題的MATLAB程序寫成函數形式,根據函數的參數特點設置控件,在本系統(tǒng)中,利用m代碼文件直接生成界面。MATLAB提供的menu已有文件打開、保存、圖形輸出、圖形打印、圖形標注等一般功能。為了使功能設計不重復,沿用了menu的功能。再設計出電場、波動與振動、磁場、光學等主菜單。
用函數uimenu建立菜單項,在uimenu函數中設置菜單層次結構、菜單名、標簽等。界面的左上區(qū)設置為顯示區(qū),右區(qū)為控制區(qū),左下區(qū)為微型命令窗口區(qū)。在本系統(tǒng)中,主要用到了flame、popupmenu、text、edit、slider、push、listbox等控件??丶κ录捻憫彩峭ㄟ^函數調用實現的。
利用MATLAB的一些默認設置功能,如當前程序不對軸屬性設置時,程序就會用默認的軸,或用先前設置過的軸屬性。系統(tǒng)界面及點電荷電勢演示。系統(tǒng)的部分源代碼如下:
golobalmcwHndl h_readme h_axes htext hslider;