matlab7.0 博客,VC6.0调用matlab7.0方法

首先要在自己的matlab7.0上安装MEX和mBuilder,安装方法是在matlab命令窗口中输入mex-setup,按照一系列的步骤安装下去。然后再在命令窗口中输入mbuilder-setup,同样的方法就可以安装mbuilder。

打开一个空m文件,向里面写一个函数如下

function z= huatu();

fid = fopen('b.txt');%打开空文件

[A,count] = fscanf(fid,'%d',inf);%向空文件里读数据

fclose(fid);%关闭txt文件

z = sin(A);

fid = fopen('xxx.txt','w');%打开一个txt文件,向里面读数据

for i=1:3

fprintf(fid,'%d ',z(i));

end

fclose(fid);

然后将其用m文件的格式保存。随后在matlab7.0的命令窗口打入命令mcc -W cpplib:dllname

-T link:lib filename.m

其中filename.m是刚才保存的那个m的文件名,dllname是要生成的新文件的dll文件名,这个自己可以随便取名,我们将上述的程序设为mcc -W cpplib:dllhuatu

-T link:lib a.m。回车后会在matlab的work目录下生成一些列的文件,我们只要其中四个文件:dllname.dll,

dllname.ctf, dllname.lib, dllname.h 是我们需要的。

在vc6.0中新建一个工程,并新建打开一个c++ source

file。向其中写入一个c代码,这是测试刚才在matlab中写的函数

#include

#include "dllhuatu.h"

#include "mclmcr.h"

main(){

mclInitializeApplication(NULL,0);

dllhuatuInitialize();

mwArray

MA(1,1, mxDOUBLE_CLASS);

huatu(0,MA);

dllhuatuTerminate();

mclTerminateApplication();

}

编译,运行之前,需要进行一下设置。把在matlab中work下的那个四个文件dllhuatu.dll,

dllhuatu.ctf, dllhuatu.lib,

dllhuatu.h拷贝到vc6.0新建的工程目录下,并将dllhuatu.h添加到头文件列表中。

在vc菜单Tools→Options→Directories→Show directories for: include

files添加

root>\Extern\include.

再在Tools→Options→Directories→Show directories for: Library添加

root>\Extern\Lib\Win32\Microsoft\msvc60

经过上面的设置后。下面添加静态库lib文件与头文件,添加方法如下Project→Setting→Link→Category:

input→Object/library modules 添加 mclmcrrt.lib dllhuatu.lib

这样Vc6.0和matlab7.0的连接就基本上成功了,再有就是在c代码中的头文件添加dllhuatu.h。如果matlab中是打开一个文件或是其他,要把这个文件也拷贝到c的工程目录下。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值