将matlab代码转换成C代码
MATLAB Coder可以从MATLAB代码⽣成独⽴的、可读性强、可移植的C/C++代码。本⽂基于matlab2015a编制,但是也适⽤于matlab 2014~2016的版本。
1. 使⽤MATLAB Coder产⽣C代码的4个步骤:
(1) 开发实现特定算法功能的MATLAB代码及其测试⽂件;
(2) 检查MATLAB代码的兼容性,确保MATLAB代码中的语句都能被转换成C代码(有些matlab代码语句并不能⽣成c/c++代码,例如matlab中的imread和imshow函数就不能被转换成c代码);
(3) 产⽣最终使⽤的源代码或MEX;
(4) 利⽤MATLAB Coder⽣成c++代码,并在vs2008中验证。
2. Matlab功能模块代码及其测试代码
2.1 foo.m
function c = foo(a, b)%#codegen
%This function muliplies a and b
c = a.* b;
2.2 foo_high.m
其中,%#codegen可以防⽌出现警告错误
function r1 = foo_high(v1, v2)%#codegen
%This function muliplies a and b司法考试报名条件
r1=zeros(1,3);雪是凝华还是凝固
r1(1)=foo(v1(1),v2(1));
保护动物的手抄报r1(2:3) = foo(v1(2:3),v2(2:3));
2.3 test_main.m
污染图片clear all
clc
clo all
a=8.97;
b=1.786;
a=[2.1 7.3 11];
b=[1.9 3.3 8];
rc = foo_high(a, b)
2.4 results
rc =3.9900 24.0900 88.0000
3. matlab代码转成C代码的详细步骤
(1) 在命令窗⼝,输⼊mex -tpu,选中⼀个存在的编译器;
氧气的性质和用途
(2) 在命令窗⼝输⼊coder(图形界⾯),回车,弹出MATLAB Coder Project对话框;
一级二级三级标题或在matlab软件的界⾯中点击MatLab Coder图标。
⽣成的MATLAB Coder界⾯如下图所⽰:
(3) 在Generate code for function框中输⼊需要转换为C代码的matlab功能模块⽂件:foo.m和foo_high.m。
天体物理(4) 点击next按钮,进⼊Define Input Types界⾯。输⼊test_main.m测试⽂件,
(5) 点击Autodefine Input Types按钮,从⽽使得matlab能⾃动检测出foo函数的接⼝变量的维度和类型。
我的卧室
(6) 点击next按钮,进⼊check for run-time issues界⾯