曾经听一室友谈到如何实现连接matlab和vc++6.0之间的混合编程,昨晚做到一个程序要用c求逆矩阵,生性很lazy的我实在不想循环套循环,递归归递归,于是在网上百度并实践了大半个晚上终于成功实现之。百度方法大致分为三种,我只捡了最简单的matcom方法实现,鉴于网上多是vc++6.0下的解说,我这里写的是visual studio 2010版的,2008应该也可以依样画葫芦。

  现简记要点如下:
  1、下载matcom4.5,这个软件很老,但貌似没有更新版本,很简洁的一个软件,大概8兆多一点。百度一下,遍地都是。载好安装完并打开,会让你选择本地matlab的路径,它也可以自动搜索,但是我的自动搜索总是会出错,于是手动搜索就ok了。完了它会提示你打开matlab,输入一段命令,照着输就可以了。

  2、完成上述步骤以后, 找到matco所在文件夹,在相应的文件夹的lib子文件夹下找到lib.h,将次文件复制,同时能注意到相同文件夹下的v4501v.lib,稍后还会用到此文件。

  3、打开vs2010,新建并编译生成一个简单的项目(比如hello world),并在该项目文件夹下的同名文件夹下,比如该项目的名称为a,则在该项目的文件夹下会有Debug,ipch,a三个文件夹,打开a这个子文件夹,把刚刚复制的matlib.h复制过来,并在vs2010界面中点击菜单中的项目-->添加现有项,在弹出的对话框中找到上文所说的v4501v.lib文件,选中并添加它到为现有项。

如果上述三步都成功了,就可以成功实现混合vs2010和matlab的混合编译了。需要注意的是,所有matlab命令需要在initM(MATCOM_VERSION);和exitM();两个语句之间。亦即:

    initM(MATCOM_VERSION);

    ...

    (你的代码)

    ...

    exitM();

    如上结构。

    贴一个简单的我昨晚写的程序求逆矩阵:

View Code

 1 #include "stdafx.h" 2  3 #include "matlib.h" 4  5  6  7 int _tmain(int argc, _TCHAR* argv[]) 8  9 {10 11     initM(MATCOM_VERSION);12 13     Mm a,b;//建立两个矩阵a,b;14 15     load(TM("m.txt"),CL(a));//打开m.txt文本文档,读入文件中的矩阵,并保存在a中;16 17     printf("矩阵:\n");18 19     disp(a);//输出a;20 21     printf("行列式:\n");22 23     disp(det(a));//输出行a的行列式;24 25     printf("逆矩阵:\n");26 27     b=inv(a);//计算a的逆矩阵,并保存在b中28 29     saveascii(TM("result.txt"),CL(b));//把b写到“resul.txt”文本文档中;30 31     disp(b);//输出b。32 33     exitM();34 35     return 0;36 37 }

运行结果:

如上。个人感觉这样比单纯的用c的循环递归什么的对矩阵进行计算要简便很多。

另,matcom有专门的手册,网上有可供下载查阅的。

http://ishare.iask.sina.com.cn/f/10903734.html?from=like

这个地址是新浪的,需要一个积分,不过,貌似注册就送积分。

综上。。。小人第一次倒腾此类相关程序,如有不足,欢迎指正探讨。

转载于:https://www.cnblogs.com/froyo/archive/2011/10/07/2200737.html

matcom , 连接matlab和Microsoft visual studio相关推荐

  1. Microsoft Visual Studio 2012 添加实体数据模型

     Microsoft Visual Studio 2012 添加实体数据模型 1.创建一个web项目 2.添加ADO实体数据模型,如下图: 3.选择 从数据库生成,然后下一步 4.新建连接,如下图: ...

  2. Microsoft Visual Studio 2010 Load Test Feature Pack安装排错

    遇到Load Test相关数据库报错 --------------------------- Microsoft Visual Studio --------------------------- T ...

  3. Microsoft Visual Studio 2010 Service Pack 1

    官方页面 http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=75568aa6-8107-475d-948a-ef22627e ...

  4. MICROSOFT VISUAL STUDIO COMMUNITY 2015软件许可条款

    MICROSOFT VISUAL STUDIO COMMUNITY 2015 这些许可条款是 Microsoft 公司(或您所在地的 Microsoft 公司的关联公司)与您之间达成的协议.这些条款适 ...

  5. C语言的环境搭建(Microsoft Visual Studio 2010的介绍与安装)

    C语言的环境搭建 一.常用的环境 : 1.Microsoft Visual C++ (简称Visual C++.MSVC.VC++或VC)微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言, ...

  6. Microsoft Visual Studio 2010

    VS 2010的全称是Microsoft Visual Studio 2010,它是由微软公司所推出的一款开发环境,它不仅仅可以支持C#.C++ .VB等许多种开发语言,而且还可以用于创建Window ...

  7. Microsoft Visual Studio 2019 下载与离线安装教程

    好久没有更新过Visual Studio的版本,博主一直用的还是2015版,近期想要下载最新的2019版本,才发现压根就没有类似之前光盘镜像下载的地方了,唯一可行的方式是自行通过官方安装部署工具从网络 ...

  8. Microsoft Visual Studio 6.0安装SP6补丁详解

    不少的VC6.0安装sp6补丁后,依然会造成linker假死.原因是sp6补丁安装不完全,不正确. 也有些网上的集成版本已经集成sp6补丁,但任然是造成linker假死.原因是集成的不完美,或者因为测 ...

  9. VS2019+Qt 用vs扩展Microsoft Visual Studio Installer Projects进行程序打包(.msi安装包)

    qt小白,仅做记录,如有问题,欢迎指正 一.安装Microsoft Visual Studio Installer Project 方法一:Microsoft Visual Studio Instal ...

最新文章

  1. C++通过HTTP请求Get或Post方式请求Json数据(转)
  2. Java基础之Switch语句
  3. Python中的yield生成器的简单介绍
  4. 2021-9-下旬 数据结构-线性表-动态数组-java代码实现
  5. 第十九期:HTTPS虐我千百遍,我却待她如初恋!
  6. hibernate oracle查询最大值_Java大数据:Mybatis和Hibernate对比分析
  7. opencv4 c++ 提取图片中的白色区域_【从零学习OpenCV 4】点集拟合
  8. 2016年4月11日作业
  9. 零基础,新手小白看过来!易用可视化工具推荐
  10. Redis--huan
  11. 电子签章服务器位置的确定,一文看懂如何实现服务端电子签章
  12. 驾考 曲线行驶 s弯
  13. 北科大小学期计算机实践报告,北京科技大学小学期C实践报告.pdf
  14. Java 小白 设计加油站类和汽车类,加油站提供一个给车加油的方法,参数为剩余汽油数量。每次执行加油方法,汽车的剩余数量都会加2
  15. Scrapy反爬与反反爬
  16. 数学问 高考数学复习资料策略整理
  17. 阿里云二级域名配置-ssl证书包不安全问题记录
  18. 小马哥---山寨仿苹果6s 低配主板T618 9900 915D4Q-F 拆机主板多图
  19. 怎么防抄板:从保护固件与安全认证开始
  20. git 撤销上次提交 commit

热门文章

  1. 域名解析对网站SEO优化有何影响?
  2. apollo local 模式_Apollo 源码解析 —— 客户端配置 API(一)之一览
  3. antd 文本域超长问题_一款能快速批量处理SQL文本的软件:NimbleText
  4. 趣谈网络协议笔记-二(第十讲)
  5. 开发日记-20190515 关键词 汇编语言(八) MVVM
  6. Java中的Split方法不适用于一个句号
  7. 卷积神经网络——本质上是在利用卷积做特征压缩,然后再全连接
  8. Spark中常用的算法
  9. ES _all、_source的使用——_all字段连接所有字段的值构成一个用空格(space)分隔的大string而被analyzed和index,document主体保存在_source中...
  10. 10.基于Tomcat的SmartUplaod文件上传