用Matlab和VB实现光学实验仿真系统的开发
时间:06-25
来源:21IC
点击:
3.3 将Matlab程序转化为DLL文件
用Matcorn4.5将M一文件转化成DLL的操作步骤如下:
(1)启动运行Matcom,点击菜单File/(20mpile todll,选择要写好的raster.m文件。
(2)点击OK。这时在对应的I)ebtlg目录下,有许多编译生成的文件。在VB开发环境中需要用的文件有3个:raster.dll(DLL文件)、raster.bas(声明DLL的模块文件)、raster.cls(VB调用DLL的接口)。
3.4 在VB中调用DLL文件
(1)界面设计。在VB中新建一个工程,新建窗体。在窗体中添加控件并设置各控件的属性(如图2所示)。然后,通过编写简单程序建立文本框和相应滚动条之间的联系。
(2)导入MaxtrixVB库和DLL文件。为了能适应Matlab强大的矩阵运算功能,还必须将MaxtrixVB库加入到工程中,过程为:点击菜单Project,选择Ref-erence,在Reference对话框中复选Mmatrix,点击0K。
将raster.bas和raster.cls加入到工程中,将生成的raster.dll文件拷贝到System32目录下。这样就可以用raster.bas声明raster.dll,并通过mymfile.cls建立VB调用raster.dll的接口。
(3)主要程序代码设计
(4)调试通过,设置参数后可以看到如图2所示的效果。在VB中将程序生成可执行文件,再把相关的文件一起打包,制作成安装包,就可以脱离VB和Matlab而单独安装使用。
4 结 语
用动态链接库DLL方法成功实现了VB和Matlab的接口编程,并生成可执行程序,可以脱离VB和Mat-lab的环境单独运行。这样也隐藏了程序源代码,提高了程序的保密性。开发出基本光学实验的模拟系统,实现了在实验室做不出的实验效果演示。该集成的光学实验仿真系统可实现图像的动态显示,随入射光波长的实时改变动态显示光强分布的图像,较为逼真。实验窗口中的图像可以由实验者调试为单独显示模式,故而方便了实验者对光学图像的存储。本套光学实验仿真系统已经在中南大学物理实验室初步投入使用,弥补了光学实验在此方面的空缺,提高了教学质量。而且还将提供给其他高校物理实验室,辅助光学实验教学。
用Matcorn4.5将M一文件转化成DLL的操作步骤如下:
(1)启动运行Matcom,点击菜单File/(20mpile todll,选择要写好的raster.m文件。
(2)点击OK。这时在对应的I)ebtlg目录下,有许多编译生成的文件。在VB开发环境中需要用的文件有3个:raster.dll(DLL文件)、raster.bas(声明DLL的模块文件)、raster.cls(VB调用DLL的接口)。
3.4 在VB中调用DLL文件
(1)界面设计。在VB中新建一个工程,新建窗体。在窗体中添加控件并设置各控件的属性(如图2所示)。然后,通过编写简单程序建立文本框和相应滚动条之间的联系。
(2)导入MaxtrixVB库和DLL文件。为了能适应Matlab强大的矩阵运算功能,还必须将MaxtrixVB库加入到工程中,过程为:点击菜单Project,选择Ref-erence,在Reference对话框中复选Mmatrix,点击0K。
将raster.bas和raster.cls加入到工程中,将生成的raster.dll文件拷贝到System32目录下。这样就可以用raster.bas声明raster.dll,并通过mymfile.cls建立VB调用raster.dll的接口。
(3)主要程序代码设计
(4)调试通过,设置参数后可以看到如图2所示的效果。在VB中将程序生成可执行文件,再把相关的文件一起打包,制作成安装包,就可以脱离VB和Matlab而单独安装使用。
4 结 语
用动态链接库DLL方法成功实现了VB和Matlab的接口编程,并生成可执行程序,可以脱离VB和Mat-lab的环境单独运行。这样也隐藏了程序源代码,提高了程序的保密性。开发出基本光学实验的模拟系统,实现了在实验室做不出的实验效果演示。该集成的光学实验仿真系统可实现图像的动态显示,随入射光波长的实时改变动态显示光强分布的图像,较为逼真。实验窗口中的图像可以由实验者调试为单独显示模式,故而方便了实验者对光学图像的存储。本套光学实验仿真系统已经在中南大学物理实验室初步投入使用,弥补了光学实验在此方面的空缺,提高了教学质量。而且还将提供给其他高校物理实验室,辅助光学实验教学。
- 单片机与PC机电话远程通信系(01-12)
- 手机电视杀出混血新军--CDMB(04-24)
- 正确测量无线通讯讯号及EMC分析(06-16)
- AVB--下一代网络音视频实时传输技术(03-26)
- 多功能车辆总线之MVB协议(09-28)