许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Matlab Coder使用方法:从MATLAB代码生成C/C++

Matlab Coder使用方法:从MATLAB代码生成C/C++

阅读数 7
点赞 0
article_banner

举例介绍matlab coder的使用方法

工具/原料

  • matlab

方法/步骤

  1. MATLAB Coder 工具是 MathWorks 公司在 2011年推出的 Matlab2011a版本中推陈出新的产品,它可以将MATLAB 函数直接生成 C 代码。主要作用体现在一下几点。 1、集成: MATLAB算法变成源代码或者静态库,用于已有的C环境。 2、原型:MATLAB算法作为独立可执行文件。在没有MATLAB的环境下进行使用。 3、加速:是代码更高的效率执行,生成 MEX文件,使代码加速不同倍速。 4、实现:转成C/C++ ,代码用于嵌入式处理器。 本文主要介绍如何用MATLAB Coder将MATLAB代码转化为C/C++代码,并进行加速。
  2. 从MATLAB到C/C++步骤 1、 安装matlab2011a或者更新版本,下面例子以2013版本为基础介绍;
  3. 简单生成一个foo.m文件; functionc = foo(a, b)%#codegen %Thisfunction muliplies a and b c =a * b 其中,%#codegen可以防止出现警告错误。
  4. 在命令窗口,输入mex -setup,选中一个存在的编译器,界面如下;
  5. 5、在命令窗口输入coder(图形界面),回车,弹出MATLABCoder Project对话框; 6、在New选项卡Name中输入一个工程名foo.prj;点击Ok,弹出MATLAB Coder MEX Function对话框; 7、单击变量a,选择Define by Example…,弹出MATLAB Coder Define by Example对话框,在MATLAB Expression中输入5,点击OK;同样变量b也进行相应操作,输入6; 8、 选中Build选项卡,Output type选项中我们可以选择输出类型,他可以生成MEX文件,动态链接库,静态链接库,可执行文件,为了看生成的C/C++ 代码,选择c/c++ Static Library;选中Generate code only; 9、 点击More settings,选择ALL Setting,找到Advanced,Language选择C++;
  6. 点击Build,进行编译;点击View report,弹出Code Generation Report对话框,MATLAB code下显示的是调用的MATLAB 函数,C code下可以看到生成的相关 .h .cpp 文件,此时,变量a、b、c会显示相应的变量信息,同时MATLAB会在目录下生成codegen文件夹,在这里面可以找到生成的 .h .cpp文件;
  7. 利用vs2008建立一个项目程序,将生成的相关文件foo.h、foo.cpp、rtwtypes.h、foo_types.h拷到相关目录下并添加到应用程序中; 编写main函数进行测试 #include"foo.h" #include<iostream> #include<conio> usingnamespace std; int main(void) { doublea = 0.0, b = 0.0, c = 0.0; cin>>a>>b; c =foo(a, b); cout<<"c= "<<c<<endl; getch(); return0; } END
  8.  经验内容仅供参考


 
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空