加速你的MATLAB开发(4): 自动生成C/C++代码
博主问myc, 你觉得MATLAB最牛逼的Toolbox是啥?myc回答就是各种Coder Toolbox啊。土豪的选择,绝对值回售价。作为MATLAB杀手级的应用,MATLAB Coder,Simulink Coder, Embedded Coder, HDL Coder可以将很多MATLAB程序,Simulink模型直接转化成C/C++代码。
有报道显示东风汽车用Embedded Coder为他们的新一代电动客车的电池管理系统生成了10万行代码,实现了100%的代码自动生成。
波音给X-40A无人航天飞机的导航及控制系统编的代码也是由Simulink Coder自动生成的(此处停顿3秒,应有广告费入账
总之,用了Coder工具箱,腰不酸了,腿不痛了,C/C++也忘得差不多了……博主等myc一口气说了这么多之后问
能让我看看这么神奇的工具怎么用么。。
这里用R2016a来做例子,首先你得确保你的电脑上有支持的编译器,从R2015b起还支持MinGW哟。
接下来就是让MATLAB定位你的编译器了,我们在mac上用Xcode做例子
>>mex -setupMEX 配置为使用 'Xcode with Clang' 以进行 C 语言编译。>>mex -setup C++MEX 配置为使用 'Xcode Clang++' 以进行 C++ 语言编译。
好啦,开始生成代码吧!鉴于我们的实习生myc是鼠标点点族,他打开了MATLAB Coder App
好炫酷的App,好像一开始需要我们输入一个想转化成C/C++代码的M文件,那我们来将上次编写的代码转化为C++代码。我们对原代码稍作修改,给两个输入
<div class="highlight">function alpha = best(points1,points2)M1 = rand(3);M2 = rand(3);alpha = zeros(2,size(points1,2));a1 = M1 \ points1;a2 = M2 \ points2;for i = 1:size(points1,2); A = ; y = rand(3,1); AtA = A' * A; if rcond(AtA) <span class="o"> 太生气了,无法HOLD啦 >_<......
真是难得给力的帖子啊。 加油,加油,不要沉下去,我是最热贴 淡定,淡定,淡定…… 太生气了,无法HOLD啦 >_<...... 看了楼主的帖子,不由得精神一振,豁然开朗,牛掰 好东西一定要看看! 大家都不容易! 加油,加油,不要沉下去,我是最热贴