基于MATLAB的普通物理方程演示系统设计与实现
2007-08-25吴柯
吴 柯
摘要:在MATLAB6.5集成开发环境下,开发了一个可视化演示系统,将点电荷、电荷极子、机械振动等物理方程的计算机可视化求解集成于一体。
关键词:MATLAB点电荷电偶极子机械振动可视化
1基本的物理规律和方程
系统对点电荷、电偶极子、机械振动、毕奥一萨伐尔定律、单缝衍射等物理问题,进行可视化演示和描述。
(1)点电荷的电势和电场强度
其中r为电荷到测量点的距离。i、j为x,y等方向的单位向量。
(2)电偶极子的电场
两个大小相等符号相反的点电荷+q和-q,当它们之间的距离为re比讨论中所涉及的距离小很多时,这一电荷系统就称为电偶极子。连结两电荷的直线称为电偶极子的轴线,电荷量q与矢量re的乘积定义为电偶极矩,简称电矩,电矩是矢量,用pe表示,即pe=qre,电
对于受迫振动以弹性振子为研究对象考虑粘滞阻力的影响,其受迫振动满足二阶非齐次线性常微分方程:
2演示系统设计与实现
基于MATLAB的可扩展性,对各个物理问题进行全面分析,将各个问题的MATLAB程序写成函数形式,根据函数的参数特点设置控件,在本系统中,利用m代码文件直接生成界面。MATLAB提供的menu已有文件打开、保存、图形输出、图形打印、图形标注等一般功能。为了使功能设计不重复,沿用了menu的功能。再设计出电场、波动与振动、磁场、光学等主菜单。
用函数uimenu建立菜单项,在uimenu函数中设置菜单层次结构、菜单名、标签等。界面的左上区设置为显示区,右区为控制区,左下区为微型命令窗口区。在本系统中,主要用到了flame、popupmenu、text、edit、slider、push、listbox等控件。控件对事件的响应也是通过函数调用实现的。
利用MATLAB的一些默认设置功能,如当前程序不对轴属性设置时,程序就会用默认的轴,或用先前设置过的轴属性。系统界面及点电荷电势演示。系统的部分源代码如下:
golobalmcwHndl h_readme h_axes htext hslider;