浅析VC与matlab接口编程(1)

2016-02-19 16:39 7 1 收藏

下面图老师小编要跟大家分享浅析VC与matlab接口编程(1),简单的过程中其实暗藏玄机,还是要细心学习,喜欢还请记得收藏哦!

【 tulaoshi.com - 编程语言 】

  Matcom是mathTools公司推出的一个能将M文件转化成相同功能C++代码的工具。相比Matlab自带的编译器Compiler,用Matcom转化代码要简单和方便 得多。本文将结合作者编程经验,以VC6.0和Matcom为例,详细介绍如何利用Matcom进行VC与Matlab的联合编程。

  Matcom安装安装Matcom前要已求安装VC6.0。在安装过程中出现选择编译器对话框,选择是(图一)。出现选择是否安装Matlab时,选否。其他选项采用默认设置。Matcom可以独立于Matlab运行,但需要外部的C++编译器,指定Matlab的位置是为了让编译文件中需要的一些系统函数找到路径用的。

  图一

  安装完成后,启动界面MIDEVA(图二)。MIDEVA集成开发环境包括命令行窗口、变量列表窗口、命令列表窗口和编译链接信息窗口等几部分,并有详细的帮助文档。

  图二

  Matcom命令输入方法与Matlab相同。如果安装在中文版操作系统时,输入命令前加一空格。(如图三)。

  图三

  下面详细介绍如何将m文件编译后放入VC中。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  1、启动MIDEVA ,File-New,新建如下Test1.m文件:

x=1:0.1:10;   y=sin(x);   plot(x,y); 

  将文件保存(如图四)。

  图四

  m文件保存的默认位置为:matcom安装目录matcom45,生成的C++文件保存的默认位置为:matcom安装目录matcom45Debug,本例matcom安装目录为C盘 即 C:matcom45Debug,在该目录下将会产生Test1.h、Test1.cpp、Test1.r 、Test1.obj文件。

  2、在VC中用MFC Wizard(exe)创建一个基于对话框名为Example的工程。

  在面板上添加一个ID为IDC_BUTTON1按扭。

  3、将C:matcom45Debug目录下的Test1.cpp文件的内容拷贝到

  void CExamleDlg::OnButton1()下,(如图五)。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  图五

  4、将C:matcom45lib下的matlib.h 和v4501v文件和C:matcom45debug下的Test1.h文件拷贝到工程Example目录下,然后在VC中将库文件和头文件加入到工程中:工程-添加工程-Files,选择刚刚拷贝到Example目录下的matlib.h 、v4501v和Test1.h文件(如图六)。

  图六

  5、在ExamleDlg.cpp中加入如下代码:

#include "matlib.h"   #include "Test1.h"

  6、在void CExamleDlg::OnButton1()中分别添加一个初始化类库调用函数initM(MATCOM_VERSION)和一个结束类库调用函数exitM()(如图七)。

  图七

  运行程序,点击画图按扭(如图八)。

  图八

  程序的release版本需要ago4501.dll、v4501v.dll、v4501.lib三个文件的支持。以上只是介绍了VC和Matcom接口编程的一个简单例子,功能并不完善,也远远达不到一个软件所要求的水平,但只要熟悉了VC和Matcom接口编程的基本原理和方法,相信大家一定能够编出优秀的软件。

  如果有什么问题可以联系我。我的QQ:44760299 邮箱:c_dinco@sina.com

本文示例代码或素材下载

来源:https://www.tulaoshi.com/n/20160219/1612677.html

延伸阅读
实现VC与Matcom的接口步骤 Matcom是Mathworks公司推出的第一个由Matlab到C++的编译开发软件平台,它的可视化界面,方便丰富的调试功能和对数学库的强大支持受到广大技术人员的重视。现在的最高版本为Matcom4.5。 我们可以通过在Matcom中file菜单下的compile to exe or dll调用.m文件编译,在Matcom的debug目录下找到生成的cpp、exe、...
摘要:本文介绍了在Microsoft Visual C++ 6.0下如何调用ACM(Audio Compression Manager,音频 压缩治理器)音频压缩编程接口对原始录入的Wave音频进行数据压缩。 要害字:ACM、CODECs、Wave音频、音频编码压缩 引言 !-- frame contents -- !-- /frame contents -- 音频和视频是多媒体应用程序向用户...
标签: Web开发
Hello,今天开始彬Go将以系列教程的方式为大家讲解Javascript编程语言和DOM接口,本篇教程为该系列的第一部分。 虽然现在一些js框架诸如jQuery、Prototype和MooTools能提高我们的前端开发效率而且很好的解决了浏览器兼容性问题,但我们仍要打好javascript技术基础。Javascript DOM 控制系列教程将告诉你你需要了解的javascript和文档...
很多初学c#的朋友对于事件与接口感到迷惑不解,不明白它们之间的关系,下面我就用实例来简单的分析讲解一下。 事件,用event修饰符来代表一个事件,我们要创建一个C#事件必须按以下顺序来扫行: 1,创建或标识一个代表。比如下例中的 public delegate void dele(); //声明代表,delegate 关键字通知编译器 dele 是一个委托类...
首先必须初始化网络,可以在app的InitInstance()中用AfxSocketInit()或者直接用 WSAStartup( MAKEWORD(1,1),&wsaData) WORD wVersionRequested WSADATA 初始化 winsock WSACleanUp 然后是初始化套接字的方法,有tcp和udp两种tcp下: SOCKET(AF_INET,SOCK_STREAM,0) bind(m_socket,(SOCKADDR*)&addrSock,sizeof(SOCKADDR));//同下面的代...

经验教程

878

收藏

69
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部