当前位置:首页 > 模拟 > 模拟
[导读]计算机仿真辅助教学比起传统的教学模式有很大的优势。利用DLL动态链接库技术解决VB和Matlab编程的接口问题,将VB的可视化界面功能与Matlab强大的绘图功能结合起来,实现二者混合编程,开发出了光学实验的仿真模拟系统。该系统具有人机交互好,生动形象,易于操作等特点,并且可以脱离VB和Matlab单独运行。通过在物理实验室的试用表明,该系统真正实现了辅助实验教学。

0 引 言
    随着计算机技术的迅猛发展和教育教学现代化的需要,计算机正逐渐走进学校,走进课堂。计算机辅助教学以其灵活、生动、形象、鲜明的文字、声音、图形和动画等丰富多彩的表现形式,使物理实验教学内容化难为易。计算机辅助教学的出现改变了传统的实验教学的模式,促进教师教育观念的转变,通过人机交互、信息共享,拓展了学生的视野,很好地培养了学生创造性思维能力。
    将计算机仿真技术用于光学实验教学,不受实验仪器和实验场所的限制,可以通过改变实验参数获得不同的实验结果,方便教师课堂演示,使课堂教学内容形象化,表现手段多样化,创造一个生动活泼的学习氛围,让学生能够结合形象的实验现象更加深刻理解光学理论。开发光学实验的仿真模拟系统,并将其运用到物理光学的教学和实验当中,可以进一步提高大学物理实验教学的现代化水平。
    但是,由于光学实验理论的复杂性、高水平仿真图像和人性化仿真界面的要求,目前国内融合光学实验的仿真系统开发还不多见。在此以VB为界面平台,Mat-lab强大的绘图、计算功能为基础,解决了VB和Mat-lab的接口技术,开发出了光学实验的仿真系统,并用于辅助实验教学。

1 开发环境的选择及技术
    Visual Basic是由微软公司开发的可视化编程语言之一,简单易学而且功能丰富,能够迅速有效地编制优良的可视化界面。Matlab是美国MathWorks公司推出的交互式、面向对象的程序设计语言,擅长处理数值计算和系统模拟仿真。但是Matlab程序的执行速度比较慢,而且在界面设计方面远远比不上VB,VC等软件。鉴于二者各自的优势,通过VB和Matlab的接口技术将VB功能强大的可视化界面与Matlab的绘图功能结合起来,实现二者混合编程,即可开发出模拟光学实验的软件。
    VB调用Matlab一直是一个难题,可以通过ActiveX自动化技术或Matlab的COM Builder技术实现。但是利用ActiveX时会在后台启动一个Matlab进程,不能脱离Matlab环境,而且实时性差;通过COMBuilder技术虽然可以脱离Matlab环境,但是一些工具箱函数还是无法编译,有一定的局限性,这两种方法都难以满足软件开发的要求。这里利用DLL动态链接库方法实现了在VB中调用Matlab。
    利用动态链接库方法也就是将Matlab的M一文件转变成为VB可以调用的DLL文件,从而实现VB对Matlab的调用。具体过程如下:
    (1)利用Matlab编写函数,并保存为M一文件。利用Matcorn4..5软件将其编译为DLL文件,同时还会自动生成在VB中声明DLL的模块文件.bas文件和.cls文件。
    (2)把DLL文件拷贝到VB工程目录或者是系统目录systera32下,并用上面生成的.bas文件声明。
    (3)把生成的.cls文件添加到VB的公共模块中。
    (4)在VB中引入MaxtrixVB库作为与DLL的接口代理,Matlab编写的函数就可以在VB中直接应用。利用DLL技术能够实现VB对Matlab的调用,这种方法可以方便地在自己开发的应用软件中嵌入Mat-lab软件的功能,实现自己的运算及图像显示。


2 系统设计
2.1 主体界面及设计思路

    在实验教学过程中,学生的学习过程应该是主动、自主学习的过程。本软件的设计思想在于创立友好的人机交互界面,方便的仿真系统,开发面向学生、直观、易于操作的辅助实验教学软件。在设计上,用一个主目录窗体界面将主要的光学实验整合在一起,这部分设计以文本属性、窗体的链接为主,软件主窗体如图1所示。

2.2 详细设计说明
   
在各光学实验的具体模拟中,每个光学实验的模拟都含预习评价、实验内容、数据处理、思考练习等部分,同时还有实验扩展、技术应用等版块,方便老师和学生查阅、练习,提高学生的创新能力。
    以仿真模拟光栅衍射实验为例介绍开发光学实验仿真模拟系统的过程。

3 光栅衍射实验的模拟
3.1 光栅衍射实验的数学模型
   
设λ为入射光波长;α为光栅上每一透光狭缝的宽度;d为光栅常数;φ为衍射角。一般光栅与光屏的距离D远大于衍射条纹在光屏上偏离光屏中心的距离ys,因此有:
    sinφ△~y/D
    光栅衍射可以看作是N个相干光形成的缝间干涉和单缝衍射共同作用的结果。对于光屏上任一点P的光强度,等于N个相干光在该点产生的干涉光强度与宽度为a的单缝夫朗和费衍射在该点产生的光强度的乘积,其强度可表示为:

   
其中:I0为屏中心的最大光强;[(sin a)/a]2为单缝衍射因子;(sin Nβ/sinβ)2。为多光束干涉因子;a=πa/λsinφ;β=πd/λsinφ。
3.2 编写Matlab程序
   
根据光栅衍射实验的数学模型,在Matlab环境下编写光栅衍射实验的raster.m函数文件。raster.m程序清单如下:


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的环境单独运行。这样也隐藏了程序源代码,提高了程序的保密性。开发出基本光学实验的模拟系统,实现了在实验室做不出的实验效果演示。该集成的光学实验仿真系统可实现图像的动态显示,随入射光波长的实时改变动态显示光强分布的图像,较为逼真。实验窗口中的图像可以由实验者调试为单独显示模式,故而方便了实验者对光学图像的存储。本套光学实验仿真系统已经在中南大学物理实验室初步投入使用,弥补了光学实验在此方面的空缺,提高了教学质量。而且还将提供给其他高校物理实验室,辅助光学实验教学。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2024年5月8日 /美通社/ -- 近年来,随着国家医疗政策改革的红利释放以及企业在研发投入方面不断加码,中国医疗器械产业步入黄金发展期,国内医疗器械企业攻坚关键核心技术,在高端领域不断突破,"出海&qu...

关键字: 显微镜 光学 高精度 质量检测

一直以来,EDA都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来EDA软件的相关介绍,详细内容请看下文。

关键字: EDA SPICE MATLAB

上海2023年9月15日 /美通社/ --近日,由全球领先的数字化整合增值服务商——柯尼卡美能达(中国)投资有限公司发起的"握爪之约,追光未来"导盲犬爱心公益活动暨捐赠仪式于西安阳光使者导盲犬学校举行...

关键字: 数字化 BSP CSR 光学

致力打造健康舒适光环境 广州2023年8月8日 /美通社/ -- 近日,欧普照明股份有限公司(以下简称"欧普照明")全光谱光I系列吸顶灯(型号:MX93...

关键字: 吸顶灯 光谱 欧普照明 光学

依视路陆逊梯卡集团深化整合专业服务和渠道优势 广州2023年3月9日 /美通社/ -- 今天,华南首家搭载依视路视光中心的亮视点门店正式入驻广州天河城。作为亮视点和依视路的母公司——依视路陆逊梯卡集团在该地区的最新布局...

关键字: 光学 BSP TI AFTER

加利福尼亚州圣何塞, March 02, 2023 (GLOBE NEWSWIRE) -- Infinera(纳斯达克股票代码:INFN)今天宣布,Ryan Perera已加入Infinera,担任亚太地区销售高级副总裁...

关键字: INFIN AN COM 光学

法国格勒诺布尔, Feb. 28, 2023 (GLOBE NEWSWIRE) -- Teledyne Technologies [NYSE:TDY] 集团旗下公司 Teledyne e2v 宣布推出 Optimom™...

关键字: 光学 视觉系统 TI TELEDYNE

新的原位在线折光仪引入维萨拉产品平台,将液体和气体测量功能相结合,从而扩大了维萨拉的测量领域。 赫尔辛基2023年2月16日 /美通社/ -- 维萨拉是天气、环境和工业测量领域的设备生产厂商,通过推出维萨拉新一代在线折...

关键字: 光学 BSP POLAR GO

评估板(EVB)及其配套软件具有即插即用功能,可轻松评估ADI产品的性能。其图形用户界面(GUI)提供了直观的方式,可进行手动配置并与该设备通信。但是,在更复杂的产品中,如果不能自动处理这些重复性任务,那么在评估所有可用...

关键字: ADI Python MATLAB

SGS亮相首届智能车载光峰会 北京2023年2月13日 /美通社/ -- 2023年2月9日,国际公认的测试、检验和认证机构SGS亮相智能车载光峰会,SGS消费电子产品部华东北区及汽车服务部总监吕彬偲在会上就"...

关键字: BSP 智能车载 光学 消费电子产品
关闭
关闭