Matlab coder 怎么用

 我来答
若以下回答无法解决问题,邀请你更新回答
啦哈嘿呦c7
推荐于2016-05-05 · TA获得超过4688个赞
知道大有可为答主
回答量:2398
采纳率:70%
帮助的人:456万
展开全部
MATLAB Coder 工具是 MathWorks 公司在 2011年推出的 Matlab2011a版本中推陈出新的产品,它可以将MATLAB 函数直接生成 C 代码。主要作用体现在一下几点。
1、集成: MATLAB算法变成源代码或者静态库,用于已有的C环境。
2、原型:MATLAB算法作为独立可执行文件。在没有MATLAB的环境下进行使用。
3、加速:是代码更高的效率执行,生成 MEX文件,使代码加速不同倍速。
4、实现:转成C/C++ ,代码用于嵌入式处理器。
本文主要介绍如何用MATLAB Coder将MATLAB代码转化为C/C++代码,并进行加速。
从MATLAB到C/C++步骤
1、 安装matlab2011a或者更新版本,下面例子以2013版本为基础介绍;
简单生成一个foo.m文件;
functionc = foo(a, b)%#codegen
%Thisfunction muliplies a and b
c =a * b
其中,%#codegen可以防止出现警告错误。
在命令窗口,输入mex -setup,选中一个存在的编译器
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++;

点击Build,进行编译;点击View report,弹出Code Generation Report对话框,MATLAB code下显示的是调用的MATLAB 函数,C code下可以看到生成的相关 .h .cpp 文件,此时,变量a、b、c会显示相应的变量信息,同时MATLAB会在目录下生成codegen文件夹,在这里面可以找到生成的 .h .cpp文件;

利用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;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式