Matlab Coder 使用方法

举例介绍matlab coder的使用方法

工具/原料

matlab

方法/步骤

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,选中一个存在的编译器,界面如下;

Matlab Coder 使用方法 .

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++;

Matlab Coder 使用方法 .

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

Matlab Coder 使用方法 .

利用vs2008建立一个项目程序,将生成的相关文件foo.h、foo.cpp、rtwtypes.h、foo_types.h拷到相关目录下并添加到应用程序中;

编写main函数进行测试

include”foo.h”

include

include

usingnamespace std;

int main(void)

{

doublea = 0.0, b = 0.0, c = 0.0;

cin>>a>>b;

c =foo(a, b);

cout<<”c= “<

你可能感兴趣的:(matlab)