Matlab与VC混合编程

本文介绍了如何使用Matlab的C/C++编译器将m文件编译成可执行应用程序,以提高执行效率和程序的可移植性。通过在MS VC++ 6.0环境下编译不涉及图形的函数m文件和涉及图形的函数m文件,详细阐述了编译过程和在不同类型的VC工程中如何使用这些编译后的源程序。
摘要由CSDN通过智能技术生成

MatlabVC混合编程

众所周知,MATLAB是一套功能非常强大的商业数学软件,从信号处理,语音处理,数据采集,数值运算,图像处理,到电子仿真,金融分析等等,几乎在各个工业领域,他都已经得到了广泛应用,同时也取得了巨大的成功。

但是,由于Matlab是用一种脚本语言,他的解释是逐行执行的,程序中所有的变量都是用MxArray来实现的,所以为了保证通用性,它的执行效率非常低,这就是我们常常看到的:在开发一些复杂的算法时,通常会发现程序执行得特别慢,虽然Mathworks公司已经在竭力提高m脚本文件(script files)的运算速度,但目前为止效果仍然不能和实现同样功能的可执行程序相比。而且m脚本文件是不能脱离Matlab这个应用程序环境,这就大大制约了程序的可移植性和通用性。

本文的目的正是基于上述考虑,介绍如何利用matlab提供的C/C++编译器,将m文件编译成可执行的应用程序。编译环境是:MS VC++ 6.0Matlab6.5

一、    MATLAB中的操作

1.没有使用图形相关的函数

由于MATLAB的编译器只能对函数m文件进行编译,所以如果原来的程序是脚本程序应改写成函数形式。举例如下:

建立一个m文件test1.m,内容如下:

function y = test1(n)

y = 1 ;

for i = 1 : n

   y = y * i ;

end

用如下命令对其进行编译:

mcc t L CPP h test1.m

(如果程序由多个m文件组成,在编译命令中只需要指定主文件即可,mcc会自动查找相应的m文件进行编译)编译完成后会得到与m文件名相对应hppcpp文件,本例中是test1.hpptest1.cpp

2 使用了图形相关的函数

建立一个m文件test2.m,内容如下:

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值