分享到:

通过VC++调用MATLAB

一、引言$$众所周知,MATLAB是功能非常强大的数学软件,它广泛应用于线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等领域。因此如果把MATLAB的程序加入到自己的VC++、VB、POWER STATION及其他语言编制的程序中,将大大减少编程的工作量,保证程序的准确性,并且继承良好的用户界面。下面以VC++为例介绍它的外部调用。$$二、程序实现$$实现外部调用的思路是:首先将m文件加入到一段C程序中,然后通过MAT-LAB中的mex批处理文件将该C文件生成exe文件,然后通过VC++的外部调用的函数shellexec()或winexec()实现调用。$$mex批处理文件的调用格式如下:$$mex-f msvc60engmatopts.bat *.c$$c文件的格式如下:$$/* engwinde...  (本文共1页) 阅读全文>>

《计算机技术与发展》2007年08期
计算机技术与发展

VC++调用Matlab实现图像处理

0引言在计算机软件开发过程中,VC++以其高效的编码率可以快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统,可以说是一个不错的编程工具。对于图像的处理,可以在VC++平台上直接对OpenGL或Direct 3D进行编程实现。但是由于VC++在数值计算方面不如Matlab,尤其是在进行图像处理时,每一个算法都需要添加大量的程序代码,程序冗长,浪费系统资源。因此,使用具有强大的矩阵运算、数据处理和图形显示功能的Matlab更具优势[1]。Matlab语言是一种以矩阵和阵列为基本编程单元的,拥有完整的控制语句、数据结构、函数编写与调用格式和输入输出功能的、具有面向对象程序设计特征的高级程序语言,与其它高级程序设计语言相比,Matlab语言除了执行效率较低外,无论是在编程的效率、可读性,还是可移植性方面都要远远高于其它高级语言[2]。Matlab以其强大的计算和绘图功能、大量稳定可靠的算法库、丰富的图像处理函库、简洁...  (本文共4页) 阅读全文>>

《起重运输机械》2015年09期
起重运输机械

基于VC++平台应用Matlab软件模拟电梯交通流的方法研究

0引言随着高层建筑的增多,人们对电梯的运行效率和能耗的要求越来越高,电梯群控系统发挥了越来越重要的作用[1,2]。为了避免不必要的浪费,电梯群控系统的仿真也随之产生,电梯群控系统的仿真包括电梯大楼配置模块、交通流产生模块、群控算法模块、仿真主程序模块、能耗[3]分析模块和运行时间分析模块。其中,交通流产生模块是电梯群控系统仿真的条件,只有交通流模块真实地反映了现实的客流情况,后续仿真才有意义。由于现实的交通流不便于统计,所以交通流仿真显得尤为重要[4]。电梯交通流仿真是模拟现实生活中乘客到达电梯的到达时间、起始楼层和目标楼层。沈阳建筑大学刘剑等是在Delphi平台上开发的交互性虚拟电梯系统,能够预测出电梯的交通流量和乘客候梯时间[5];华南理工大学的潘志锋等利用VC++为开发平台,加入SQL数据库为后台,采用多线程动态分配内存等技术能随机产生交通流[6];华南理工大学的李中华等利用Matlab开发电梯群控系统仿真平台[7];天津...  (本文共5页) 阅读全文>>

北京交通大学
北京交通大学

基于气动热化学轴对称烧蚀的仿真

摘要:基于气动热化学理论与计算机语言设计出了轴对称烧蚀计算软件的主程序以及前后处理系统。轴对称烧蚀一般是在高温高压冲刷氧化气流作用下发生的,建立极端环境下轴对称的热化学烧蚀模型,利用FORTRAN编程对管内热流场及烧蚀进行数值计算;基于此,结合MATLAB与VC++自身的特点,采用混合编程技术实现轴对称烧蚀软件的前后处理。本文给出了核心算法的基本理论以及编程的流程;介绍了MATLAB与VC++混合编程的方法以及相应的编程实例,并且阐述了软件在编程过程种所遇到的问题、解决办法及编制过程;软件在设计过程中使用了Microsoft基于类的编程方法以及MATLAB中动态链接库的方法,在VC中调用由MATLAB生成的库函数以及脚本文件,通过混合编程得到轴对称烧蚀仿真软件,能够实现极端环境下轴对称烧蚀的仿真。该软件的优点是脱离编译环境,在WINDOWS系统平台上能够直接应用,易于前后处理。  (本文共66页) 本文目录 | 阅读全文>>

《无线电工程》2006年12期
无线电工程

VC++调用MatLab数学库接口设计

0引言MatLab的信号处理工具箱提供了经典信号处理的大部分方法,对于电子对抗专业的研究人员来说是一个非常优秀的算法研究和辅助设计的工具。但是安装MatLab对计算机的配置要求较高,且MatLab为解释性语言,所以工程上一般不用MatLab开发的源程序,用MatLab完成算法仿真后,一般都将其转化为工程上常用的语言如VC++。工程人员在程序转换上往往要花费大量的时间。随着MatLab版本的提高,对信号的处理能力越来越强大,与外部程序接口设计也越来越容易实现。在MatLab6.5以后的版本,也可以调用MatLab工具箱中的函数,MatLab可将工具箱中的函数自动打包。因此,研究如何将MatLab现有的处理函数发布到应用程序中是一项很有意义的工作,它可以大大减少研究人员程序开发的时间,将主要精力投入到算法研究中去。将在MatLab环境下开发的应用程序生成动态链接库,脱离开MatLab环境,在VC++平台上调用其动态库是MatLab与...  (本文共2页) 阅读全文>>

《海洋测绘》2008年05期
海洋测绘

利用VC++封装MATLAB 6.5 C++数学库探讨测量平差软件的开发

1引言分析、处理测量数据如测量平差、GPS高程与水准高程换算、遥感图像处理、坐标换算等都涉及到线性代数、最优控制、超定方程组的求解问题,常常要面对大量的矩阵运算和海量的数据处理,尤其是矩阵的相乘和求逆。以往国内外是用C或FORTRAN等语言,需要编写相应的子程序模块处理矩阵运算,要消耗大量的时间和精力,还有可能犯错。如果希望系统能绘制、生成和保存图形,那么开发工作量就更是惊人。采用VC++6·0和MATLAB 6·5联合编程解决这个问题,可以提高软件的开发效率,大大缩短软件的开发周期。目前,国内外VC++和MATLAB 6·5的混合编程越来越多地被应用在土木、建筑等工程领域的数值计算中,因为这样可以充分发挥各自优势,提高计算效率,节省大量的人力物力。MATLAB 6·5应用于测绘领域主要是在数据处理和成果可视化方面,应用不够广泛且实践少。基于MATLAB 6·5的测量平差数据的处理程序可以在最短的时间内完成测量平差的算法预设计与...  (本文共4页) 阅读全文>>