77范文网 - 专业文章范例文档资料分享平台

matlab与vc混编(5)

来源:网络收集 时间:2019-02-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

**************************************************************************** >>> 异常处理函数

****************************************************************************

************************************************************************** >>> 矩阵生成函数

****************************************************************************

Mm DLLI cauchy(Mm x);

Mm DLLX cauchy(Mm x, Mm y); Mm DLLI compan(cMm x); Mm DLLI gallery(Mm n); Mm DLLI hadamard(Mm n); Mm DLLI hankel(Mm c); Mm DLLI hankel(Mm c, Mm r); Mm DLLI hilb(Mm n); Mm DLLI invhilb(Mm n);

Mm field, cMm v);; const { return i0-1+(Mm*)pr; }x_ab] Mm DLLI magic(Mm n); Mm DLLI pascalM(cMm n); Mm DLLI pascalM(Mm n, Mm r); Mm DLLI rosser(); Mm DLLI toeplitz(Mm c); Mm DLLI toeplitz(Mm c, Mm r); Mm DLLI vander(Mm x); Mm DLLI wilkinson(cMm n);

**************************************************************************** >>> 操作系统资源函数

*********************************************************************************** Mm DLLI cd(); Mm DLLI cd();

Mm DLLI cd(cMm dir1); Mm DLLI chdir(cMm dir1); Mm DLLI copyfile(cMm src);

Mm DLLI copyfile(cMm src, cMm dest); Mm DLLI deleteM(cMm filename);

Mm DLLI deleteM(cMm filename);eld, cMm v);; const { return i0-1+(Mm*)pr; }x_ab]

Mm DLLI dos(cMm command);

Mm DLLI dos(cMm command, i_o_t, Mm& status, Mm& sout); Mm DLLI dos(cMm command, cMm echo);

Mm DLLI dos(cMm command, cMm echo, i_o_t, Mm& status, Mm& sout); Mm DLLI fclose(cMm fid); Mm DLLI feof(cMm fid); Mm DLLI ferror(cMm fid);

Mm DLLI ferror(cMm fid, cMm clear);

Mm DLLI ferror(cMm fid, cMm clear, i_o_t, Mm& msg, Mm& errnum); Mm DLLI ferror(cMm fid, i_o_t, Mm& msg, Mm& errnum); Mm DLLI fflush(cMm fid); Mm DLLI fgetl(cMm fid); Mm DLLI fgets(cMm fid);

Mm DLLI fgets(cMm fid, cMm nchar); Mm DLLI filesep();

Mm DLLI fopen(cMm filename);

Mm DLLI fopen(cMm filename, cMm permission);

Mm DLLI fopen(cMm filename, cMm permission, cMm machine);

Mm DLLI fopen(cMm filename, cMm permission, cMm machine, i_o_t, Mm& fid, Mm& msg); msg);I deleteM(cMm filename);eld, cMm v);; const { return i0-1+(Mm*)pr; }x_ab] Mm DLLI fopen(cMm filename, cMm permission, i_o_t, Mm& fid, Mm& msg); Mm DLLI fopen(cMm filename, i_o_t, Mm& fid, Mm& msg);

Mm DLLI fopen(cMm fid, i_o_t, Mm& filename, Mm& permission, Mm& machine); Mm DLLI fprintf(cMm fid, cMm format1);

Mm DLLI fprintf(cMm fid, cMm format1, cMm varargin); Mm DLLI fprintf(cMm x); Mm DLLI fread(cMm fid);

Mm DLLI fread(cMm fid, cMm size);

Mm DLLI fread(cMm fid, cMm size, cMm precision);

Mm DLLI fread(cMm fid, cMm size, cMm precision, cMm skip); Mm DLLI fread(cMm fid, cMm size, cMm precision, cMm skip, c

Matlab6.1与VC6混合编程小结 --(1)编程环境设置- -

『转载』

虽然现在Matlab与VC的版本都不同了,但是还是有借鉴作用的

一.编程环境 1. 开发时必需的文件

%Matlab%\\extern 整个目录是开发的必需目录 %Matlab%\\extern\\include\\*.h 目录 %Matlab%\\extern\\include\\cpp\\*.hpp 目录 %Matlab%\\extern\\lib\\win32\\*.lib目录

%Matlab%\\extern\\lib\\win32\\microsoft\\msvc60\\*.lib目录 2. VC6的设置

○1设置include搜索目录,

加入c/c++ math和c/c++ graphics的头文件 Tools->Options->Directories->Include files 中加入: %Matlab%\\extern\\include\\cpp\\和%Matlab%\\extern\\include\\ ○2定义预处理宏MSVC、MSWIND

Project->Setting->C/C++页中的Category->Preprocessor 中加入 MSVC、MSWIND、 ○3设置运行时动态链结库

Project->Setting->C/C++页中的Category->Code Generation 中选择Multithreaded DLL。 ○4加入lib文件

Project ? Add to Project ?Files... 中加入:

%Matlab%\\extern\\lib\\win32\\microsoft\\msvc60\\*.lib 以及 %Matlab%\\extern\\lib\\win32\\libmatpm.lib 3. 运行时(发布)所需文件

%MATLAB%\\extern\\lib\\win32\\mglinstaller.exe 所生成的*.dll

Mat与VC混编小结 --(2)调用C/C++ Math Liabrary函数- -

『转载』

Matlab6.1与VC6混合编程的方式很多: 先介绍第一种(排名无先后):

直接调用Matlab 自带的C/C++ Math Liabrary的函数,

首先要按帖子(1)设置编程环境

另外:在Project->Setting->Link->input页中 的Ignore Library中加入LIBCMTD 下面不废话,给出一段例子,

{下面的例子在Win32 Console Application 中调试通过 其它的方式略有不同。} ......

#include \ //C++方式 #include \ //C方式 #include \ //std库函数头 ......

double data[] = {1,2,3,4,5,6};

mwArray z(2,3,data); //初始化一个2*3的矩阵 mwArray c; //定义个矩阵类 try{

c = pinv(z); //调用C++ Math Liabrary的函数Pinv伪逆函数 }

catch(mwException &ex){ mwDisplayException(ex); }

double *p;

p = mxGetPr(c.GetData()); //将结果赋于p数组,用C进一步处理 int i;

for(i=0;i<6;i++)

printf(\\ //显示结果 ......

Matlab与VC混编小结 --(2)以DLL方式调用M- -

『转载』

Matlab6.1与VC6混合编程的方式很多:

用Matlab处理复杂的算法,用VC、VB甚至Delphi来处理GUI,比较爽。 以DLL方式调用M文件中的函数,就是重要的手段。

首先要按帖子Matlab6.1与VC6混合编程小结 (1)中所说的设置编程环境

下面不废话,给出一段例子, :假设有M文件:mfile.m

其中有Function1、Function2......。 1:在Matlab6.x中使用命令:

mcc -B sgl -t -W libhg:a -T link:lib mfile 其中:a是相生成的dll文件的名字 a.dll mfile是m文件的名字mfile.m

-B sgl 表示用到了Graphics库(在matlab中help MCC)

2:将生成的a.dll,a.lib,a.h放在工程目录下。 3:在工程中加入a.lib,并#include \。 4:按以下格式调用: aInitialize(); //初始化

mlfFunction1(); //对应于Function1 mlfFunction2(); //对应于Function2 ......

aTerminate(); //释放

注意:a.h中的函数的参数和返回值大多为矩阵形式,使用方法见贴(2)

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库matlab与vc混编(5)在线全文阅读。

matlab与vc混编(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/478893.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: