2005-09-24

请问怎样用MATLAB生成可执行

应用举例  下面以一个线性方程组的求解过程为例,介绍通过Matcom实现VC对Matlab程序的调用,运行环境:Win2000、Matlab6。1、Matcom4。5、Visual C++6。 0  (1)Matlab运行环境中编写程序equation。m,其代码如下:%equation 求解线性方程组的解%线性方程组形如:A*X = Bfunction X = equation(A, B)X = A\B;  (2)这里以一个简单的控制台程序为例,其它程序基本相同。 在VC环境中建立一个名为Test的Win32 Console Application工程。  (3)点击...全部

应用举例  下面以一个线性方程组的求解过程为例,介绍通过Matcom实现VC对Matlab程序的调用,运行环境:Win2000、Matlab6。1、Matcom4。5、Visual C++6。

0  (1)Matlab运行环境中编写程序equation。m,其代码如下:%equation 求解线性方程组的解%线性方程组形如:A*X = Bfunction X = equation(A, B)X = A\B;   (2)这里以一个简单的控制台程序为例,其它程序基本相同。

在VC环境中建立一个名为Test的Win32 Console Application工程。  (3)点击Visual Matcom工具栏上的m++图标,选择保存过的Matlab文件equation。

m进行转化。如果看到的转化信息提示没有错误就可以观察到此时在FileView标签中多了m-files,C++files created from m-files,Matrix等文件。并且该工程目录下增加了equation。

h,equation。cpp, k,equation。r等的4个文件。这时会在VC中出现一个转换完毕的文件,文件中如果报告有错误就要考虑是否程序有问题,可以双击C++files文件夹下的equation。

m进行修改,再重新转化直到没有错误报告为止。  (4)在Test工程下建立一个文件test。cpp调用转化的Matlab函数,代码为:#include "stdio。h" #include "matlib。

h" //提供转化后C++代码中使用的数据类型,函//数原型及常数#include "equation。h" void main(){ /*解线性方程组: X =  */ initM(MATCOM_VERSION); //初始化matlib库 Mm a,b,x; //使用矩阵类Mm构造矩阵a,b,x。

a = (BR(1),2,3,semi,4,5,6,semi,7,8,1); //给矩阵a赋值,BR是Matrix库的一个 //宏,用于定义一个矩阵的开始;semi是库的//一个常量,用于分隔不同行的矩阵元素 b = zeros(3,1); //初始化矩阵b为零矩阵3行1列 b(1,1) = 37; b(2,1) = 85; b(3,1) = 69; //给矩阵b赋值 x = equation(a,b); //调用转化的函数,求解线性方程组的解 for (int i = 1; i <= ws(); i++) //把解矩阵X的元素显示出来 {  for (int j=1;j<= ls();j++)   printf("x(%d,%d)=%f\n",i,j,x。

r(i,j)); } exitM(); //结束对matlib库的调用 return;}   注意:程序中涉及到了两个成员函数。rows()和。cols(),它们分别返回矩阵的行数和列数;x。

r(i,j)代表矩阵x的第i行第j列的元素。  (5)编译运行后结果为x(1,1) = 3。000000 x(2,1) = 5。000000 x(3,1) = 8。000000与实际结果一致。

总结:如果需要转换的。m文件不是一个函数,只是一些Matlab命令的集合,则要在工程目录下找到转换文件的。cpp文件,将其中的C代码拷贝到需要调用它的函数里面。Matcom克服了mcc命令只能编译一个独立。

m文件的缺点,当所编译的。m文件依赖于其他。m文件时,只要把被调用的。m文件与要编译的。m文件放在同一目录下,生成的被调用文件的。h和。cpp文件插入到VC开发的工程中就可以了。  上面只是一个简单的控制台工程的例子,我们也可以建立其它类型的工程,只要在需要调用转换后函数的程序中包含matlib。

h并且在响应函数中初始化matlib库initM(MATCOM_VERSION);结束调用后做结束工作exitM();就可以了。  结束语  本文讨论了VC与Matlab的混合编程,主要集中讨论在VC中调用Matlab的实现方案。

通过一个Matcom编译实现的例子我们看到,利用Visual Matcom转换代码非常方便,生成的代码可读性好,而且还支持多数图形函数,基本上使Matlab和VC能够得到充分的发挥。作者在海洋遥感图像处理中使用这种方法来提高程序的执行速度,取得了非常理想的效果。

它不仅解决了Matlab的解释执行方式带来的执行速度过慢的缺陷,更重要的是它完全脱离了Matlab系统,当代码被编译成可执行程序后,又可大大提高程序的安全性。 。收起

m文没有matlab标识,请教个MATLAB问题相关推荐

  1. matlab 神经网络设计多层隐含层_[rbf神经网络]请教关于MATLAB中RBF神经网络隐含层神经元个数的问题...

    rbf神经网络 请教关于MATLAB中RBF神经网络隐含层神经元个数的问题 问题补充:MATLAB中用newrb(P, T, goal, spread)创建的神经网络,用于数据的预测,程序可以运行并能 ...

  2. matlab 连续显示,请教下MATLAB一个问题啊 我想检测一行数据里面出现连续出现0的次数,...

    请教下MATLAB一个问题啊 我想检测一行数据里面出现连续出现0的次数, 2019-4-4来自ip:10.137.171.220的网友咨询 浏览量:319 问题补充: 请教下MATLAB一个问题啊 我 ...

  3. matlab soc,soc估算matlab仿真

    将 Matlab 仿真结果与同等条件下的实验 结果进行对比分析,证明了 DKF 算法能够有效地在线估算电池 SOC 及其欧姆内 阻 R0,且误差在 3%以内.最后,证明了 DKF 算法...... 收 ...

  4. matlab 汽车 流场,matlab画流场图

    基于 Matlab 分布式工具箱的流场计算及其可视化 蔡群;周美莲;段杰峰;李青... 基于 MATLAB 和 CFD 数据库的流场可视化的实现 [J], 晏畅 5.基于 VB 与 MATLAB 混合 ...

  5. matlab提excel文字,matlab读取excel文字

    数据导入| 将excel数据导入matlab_计算机软件及应用_IT/计算机_专业资料.将 excel 数据导入 matlab 一. 将 excel 文本放在 matlab 的 work 文件夹里面. ...

  6. python调用matlab环境配置、非常详细!!!_[python][matlab]使用python调用matlab程序

    问题引入 在做实验的时候,需要用到python和matlab工具来进行不同的处理,比如在run神经网络的时候,需要使用pytorch框架得到网络的各个参数,在得到参数后需要使用matlab进行聚类规划 ...

  7. matlab课程目的,《Matlab应用》课程教学大纲.doc

    <Matlab应用>课程教学大纲 <Matlab工程应用>课程教学大纲 课程名称:Matlab工程应用 学分:3 总学时:48 讲课学时:40 实验学时:8 考核方式:考查 先 ...

  8. matlab com组件 发布,matlab生成com组件

    (中国科学院声学研究所北京100084) 摘要:介绍了采用MaflabCOMBuilder制作COM组件的方法,通过支持COM方式的编译工具调用生成的COM组件,能简 单方便地实现Matlab利其他. ...

  9. matlab编写文件格式,MATLAB程序设计教程(4)——MATLAB文件操作

    MATLAB程序设计教程(4)--MATLAB文件操作 第4章MATLAB文件操作 4.1 文件的打开与关闭 4.2  文件的读写操作 4.3  数据文件定位 4.1 文件的打开与关闭 4.1.1 文 ...

最新文章

  1. 私有云管理-Windows Azure Pack
  2. java方法怎么写_关于java方法,这几题该怎么写
  3. VS高版本编写C程序的C4996错误
  4. php pc_base,phpcms二次开发之base.php的桥梁作用_PHP教程
  5. modbus连续读取时数据不正确_使用MODBUS协议与传感器、工控屏对接时碰到的问题...
  6. 深度学习 3 循环神经网络 RNN Recurrent Neural Networks
  7. ant vue 树形菜单横向显示_快速实现一个简单可复用可扩展的Vue树组件
  8. 关于mysql中select出数据未排序问题
  9. java同步和互斥程序说明(一)
  10. 《学习网站》计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接
  11. 美团实习经验(基础架构部)
  12. warning: control reaches end of non-void function(C语言编译报错)
  13. 通过Wachete实时监控网站更新
  14. python3编程小车_控制小车
  15. oracle文件系统挂载点,挂载和取消挂载文件系统概述
  16. 虾皮API接口—按关键字搜索商品
  17. 狄利克雷分布通俗讲解
  18. 奥利给:力扣160:相交链表
  19. Android开发常用网站推荐以及代码库推荐
  20. 存储技术现在的困境以及未来的发展

热门文章

  1. android imageview 的常用属性,android imageview scaletype属性
  2. 16 分频 32 分频是啥意思_Verilog中任意分频的实现
  3. linux 删除含有关键词的文件_误删除Linux系统文件了?这个方法教你解决
  4. visual studio spy使用实现后台按键_多种精华液应该如何叠加使用?
  5. 万字干货介绍WebAR的实现与应用
  6. 使用c++filt查看trafficserver堆栈调用信息
  7. 虚幻引擎5(UE5)实时VFX游戏特效制作入门到精通
  8. Clip Studio Paint 高级着色学习教程
  9. 《Bigtable:a distributed storage system for struct data》笔记
  10. ceph rados命令使用