版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用Matlab和VB实现光学实验仿真系统的开发豆豆网 技术应用频道 关键字: 因数校正 MATLAB入门 MATLAB 由于光学实验理论的复杂性、高水平仿真图像和人性化仿真界面的要求,目前国内融合光学实验的仿真系统开发还不多见。在此以VB为界面平台,Mat-lab强大的绘图、计算功能为基础,解决了VB和Mat-lab的接口技术,开发出了光学实验的仿真系统,并用于辅助实验教学。 0 引 言随着计算机技术的迅猛发展和教育教学现代化的需要,计算机正逐渐走进学校,走进课堂。计算机辅助教学以其灵活、生动、形象、鲜明的文字、声音、图形和动画等丰富
2、多彩的表现形式,使物理实验教学内容化难为易。计算机辅助教学的出现改变了传统的实验教学的模式,促进教师教育观念的转变,通过人机交互、信息共享,拓展了学生的视野,很好地培养了学生创造性思维能力。将计算机仿真技术用于光学实验教学,不受实验仪器和实验场所的限制,可以通过改变实验参数获得不同的实验结果,方便教师课堂演示,使课堂教学内容形象化,表现手段多样化,创造一个生动活泼的学习氛围,让学生能够结合形象的实验现象更加深刻理解光学理论。开发光学实验的仿真模拟系统,并将其运用到物理光学的教学和实验当中,可以进一步提高大学物理实验教学的现代化水平。但是,由于光学实验理论的复杂性、高水平仿真图像和人性化仿真界面
3、的要求,目前国内融合光学实验的仿真系统开发还不多见。在此以VB为界面平台,Mat-lab强大的绘图、计算功能为基础,解决了VB和Mat-lab的接口技术,开发出了光学实验的仿真系统,并用于辅助实验教学。1 开发环境的选择及技术Visual Basic是由微软公司开发的可视化编程语言之一,简单易学而且功能丰富,能够迅速有效地编制优良的可视化界面。Matlab是美国MathWorks公司推出的交互式、面向对象的程序设计语言,擅长处理数值计算和系统模拟仿真。但是Matlab程序的执行速度比较慢,而且在界面设计方面远远比不上VB,VC等软件。鉴于二者各自的优势,通过VB和Matlab的接口技术将VB功
4、能强大的可视化界面与Matlab的绘图功能结合起来,实现二者混合编程,即可开发出模拟光学实验的软件。VB调用Matlab一直是一个难题,可以通过ActiveX自动化技术或Matlab的COM Builder技术实现。但是利用ActiveX时会在后台启动一个Matlab进程,不能脱离Matlab环境,而且实时性差;通过COMBuilder技术虽然可以脱离Matlab环境,但是一些工具箱函数还是无法编译,有一定的局限性,这两种方法都难以满足软件开发的要求。这里利用DLL动态链接库方法实现了在VB中调用Matlab。利用动态链接库方法也就是将Matlab的M一文件转变成为VB可以调用的DLL文件,从
5、而实现VB对Matlab的调用。具体过程如下:(1)利用Matlab编写函数,并保存为M一文件。利用Matcorn45软件将其编译为DLL文件,同时还会自动生成在VB中声明DLL的模块文件bas文件和cls文件。(2)把DLL文件拷贝到VB工程目录或者是系统目录systera32下,并用上面生成的bas文件声明。(3)把生成的cls文件添加到VB的公共模块中。(4)在VB中引入MaxtrixVB库作为与DLL的接口代理,Matlab编写的函数就可以在VB中直接应用。利用DLL技术能够实现VB对Matlab的调用,这种方法可以方便地在自己开发的应用软件中嵌入Mat-lab软件的功能,实现自己的运
6、算及图像显示。2 系统设计21 主体界面及设计思路在实验教学过程中,学生的学习过程应该是主动、自主学习的过程。本软件的设计思想在于创立友好的人机交互界面,方便的仿真系统,开发面向学生、直观、易于操作的辅助实验教学软件。在设计上,用一个主目录窗体界面将主要的光学实验整合在一起,这部分设计以文本属性、窗体的链接为主,软件主窗体如图1所示。22 详细设计说明在各光学实验的具体模拟中,每个光学实验的模拟都含预习评价、实验内容、数据处理、思考练习等部分,同时还有实验扩展、技术应用等版块,方便老师和学生查阅、练习,提高学生的创新能力。以仿真模拟光栅衍射实验为例介绍开发光学实验仿真模拟系统的过程。3 光栅衍
7、射实验的模拟31 光栅衍射实验的数学模型设为入射光波长;为光栅上每一透光狭缝的宽度;d为光栅常数;为衍射角。一般光栅与光屏的距离D远大于衍射条纹在光屏上偏离光屏中心的距离ys,因此有:siny/D光栅衍射可以看作是N个相干光形成的缝间干涉和单缝衍射共同作用的结果。对于光屏上任一点P的光强度,等于N个相干光在该点产生的干涉光强度与宽度为a的单缝夫朗和费衍射在该点产生的光强度的乘积,其强度可表示为:图片看不清楚?请点击这里查看原图(大图)。其中:I0为屏中心的最大光强;(sin a)a2为单缝衍射因子;(sin Nsin)2。为多光束干涉因子;a=asin;=dsin。32 编写Matlab程序根
8、据光栅衍射实验的数学模型,在Matlab环境下编写光栅衍射实验的rasterm函数文件。rasterm程序清单如下:图片看不清楚?请点击这里查看原图(大图)。33 将Matlab程序转化为DLL文件用Matcorn45将M一文件转化成DLL的操作步骤如下:(1)启动运行Matcom,点击菜单File(20mpile todll,选择要写好的rasterm文件。(2)点击OK。这时在对应的I)ebtlg目录下,有许多编译生成的文件。在VB开发环境中需要用的文件有3个:rasterdll(DLL文件)、rasterbas(声明DLL的模块文件)、rastercls(VB调用DLL的接口)。34 在
9、VB中调用DLL文件(1)界面设计。在VB中新建一个工程,新建窗体。在窗体中添加控件并设置各控件的属性(如图2所示)。然后,通过编写简单程序建立文本框和相应滚动条之间的联系。 图片看不清楚?请点击这里查看原图(大图)。(2)导入MaxtrixVB库和DLL文件。为了能适应Matlab强大的矩阵运算功能,还必须将MaxtrixVB库加入到工程中,过程为:点击菜单Project,选择Reference,在Reference对话框中复选Mmatrix,点击0K。将rasterbas和rastercls加入到工程中,将生成的rasterdll文件拷贝到System32目录下。这样就可以用rasterbas声明rasterdll,并通过mymfilecls建立VB调用rasterdll的接口。(3)主要程序代码设计图片看不清楚?请点击这里查看原图(大图)。(4)调试通过,设置参数后可以看到如图2所示的效果。在VB中将程序生成可执行文件,再把相关的文件一起打包,制作成安装包,就可以脱离VB和Matlab而单独安装使用。4 结 语用动态链接库DLL方法成功实现了VB和Matlab的接口编程,并生成可执行程序,可以脱离VB和Matlab的环境单独运行。这样也隐藏了程序源代码,提高了程序的保密性。开发出基本光学实验的模拟系统,实现了在实验室做不出的实验效果演示。该集成的光学实验仿真系统可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版木结构木工班组施工合同范本
- 2025年物流公司物流园区配送运输合同协议书3篇
- 二零二五年度枸杞采摘、加工、销售全流程服务合同3篇
- 2025年度窗帘清洗与保养服务合同3篇
- 二零二五版锅炉设备维护保养与故障排除合同范本3篇
- 2025年度淋浴房行业数据分析与服务合同4篇
- 2025年度城市街道绿化带绿植更新与养护服务合同范本4篇
- 2025年度二手房公积金贷款买卖合同(含房屋维修基金)4篇
- 二零二四年劳动争议解决常年法律顾问合同3篇
- 2024版售后服务委托合同书
- 2025年河南鹤壁市政务服务和大数据管理局招聘12345市长热线人员10人高频重点提升(共500题)附带答案详解
- 建设项目安全设施施工监理情况报告
- 春节期间安全施工措施
- 2025年大唐集团招聘笔试参考题库含答案解析
- 建筑工地春节期间安全保障措施
- 2025山东水发集团限公司招聘管理单位笔试遴选500模拟题附带答案详解
- 2024-2030年中国建筑玻璃行业市场深度调研及竞争格局与投资价值预测研究报告
- 泌尿:膀胱肿瘤病人的护理查房王雪-课件
- 企业短期中期长期规划
- 中华民族共同体概论讲稿专家版《中华民族共同体概论》大讲堂之第一讲:中华民族共同体基础理论
- 《商务沟通-策略、方法与案例》课件 第一章 商务沟通概论
评论
0/150
提交评论