通过vc++调用

通过vc++调用

ID:20474009

大小:57.00 KB

页数:5页

时间:2018-10-12

通过vc++调用_第1页
通过vc++调用_第2页
通过vc++调用_第3页
通过vc++调用_第4页
通过vc++调用_第5页
资源描述:

《通过vc++调用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、通过VC++调用摘要:MATLAB语言是当今国际上最流行的科学与工程计算编程语言,它起源于矩阵运算,并已发展成一种高度集成的计算机语言。本文简单阐述了Matlab的基本功能和应用,引入了有限元的基本概念及有限元分析的一般步骤。通过matlab与其它高级语言相比较,指出其在有限元分析应用中的优势以及不足。在此基础上,提出了Vc++与matlab混合编程。最后用一个例子演示vc++与matlab混合编程在有限元分析的过程。关键词:MATLAB有限元混合编程一、引言matlab是美国Mathatlab远远优于其它的高级编程语言,而且编程易学、直观,代码非

2、常符合人们的思维习惯。另外matlab为用户提供了丰富的atlab已在许多工业部门,设计单位和科研机构特别是高校得到广泛的应用。它主要应用于自动控制系统、数字信号处理,时间系列分析等方面,在工程有限元数值分析方面应用甚少,也鲜见报道。有限元方法是利用计算机求解数学物理或工程实际中的微分方程问题,主要是偏微分方程问题的一种系统化的数值计算方法。有限元法是将物体划分成有限个单元,这些单元之间通过有限个节点相互连接,单元看作是不可变得刚体,单元之间的力通过节点传递,然后利用能量原理建立各单元矩阵,最后组成总刚矩阵,求解线性方正组。二、Matlab在有限元

3、分析中的优势与不足进行有限元分析,若用其他高级语言开发,如c,c++,frotran等,编程的工作量十分浩大,开发周期很长,而利用matlab进行有限元设计有以下优点:(1)语言简洁紧凑、使用方便灵活、库函数及其丰富,几乎包括有限元编程中的所有基础程序。(2)可视化及强大的图形功能。(3)程序代码公开(4)程序可移植性好。Matlab几乎可以在各种机型和操作系统上运行,所以在可移植性和可扩充性上,matlab远优越于其他的高级编程语言。Matlab语言具有强大的数值计算能力和视图能力,其偏微分方程工具箱(PDEToolbox)提供了有限元求解的一个

4、强大而灵活的环境,并且有限元X格可做精细划分以满足要求。但是,和其他的高级语言相比,matlab程序的执行速度较慢。VC++是当前atlab与VC++进行有效的混合编程,不仅能更好地发挥Matlab强大的功能,还能快速地进行软件开发,尤其是当软件开发中需要实现复杂的数学算法、图形处理时,更加高效。(1)将Matlab程序编译成C/C++源文件并嵌入VC++;(2)在C/C++程序中利用Matlabengine调用Matlab函数;(3)在C/C++程序中直接使用MatlabC/C++MathLibrary;(4)将.m文件编译成*.dll文件嵌入到

5、VC++的程序中。其中matlab引擎是一组函数,通过这组函数,用户可以在应用程序中实现对matlab的控制。采用matlab引擎,可以在非matlab为主的应用程序中使用matlab功能。Matlab采用mcc命令可以将大部分.m程序编译成动态连接库供matlab调用;通过mex命令,可以将C语言程序编写成MATLAB可执行程序。这两种方式中,前一种方式是在vc应用程序中调用matlab,后一种方式是在matlab程序中调用vc编写的程序。这两种方式都不能脱离matlab环境,所有操作都是基于matlab实现的。与matlab引擎应用程序和mat

6、lab可执行程序相比,vc调用matlab数学库和图形函数执行速度快,内存需求少,可以发布给没有matlab的用户使用。但也有其不可避免的缺点:(1)用户不能够在基于matlab数学库和图形库的应用程序中使用matlab的函数eval()和input();(2)不能调用图形句柄系统的函数;(3)Matlab中的一些方法在c/c++中得不到支持,如“;”,”[]”.四、通过在vc++环境中调用matlab引擎实现有限元分析本文采用matlab引擎的工作方式,在vc++6.0开发环境下,调用MATLAB引擎函数,绘制求解区域,进行有限元分析,得出结果的

7、工作,并将结果保存到MAT文件中。1.准备工作(1)vc++环境编译文件设置。通过菜单Tools/Options,进入Directorie页面。为IncludeFiles和LibraryFiles添加以下路径D:Matlab6p5externinclude(在Matlab的安装路径下)D:Matlab6p5externlibsvc60(在Matlab的安装路径下)(2)添加库文件:通过菜单Projects

8、settings,进入Link页面,添加文件名libmx.lib、libmat.lib、libeng.lib(3)在使用engin

9、e函数的程序头文件中包含如下两个头文件:#include"engine.h"#include2.在应用程序中添加调用Mat

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。