实验室项目需要,将Matlab程序转为C++代码的过程记录下来,方便后续查找和别人使用。
1.编写好对应算法的m文件,将脚本转化为函数格式,输出需要的变量,以如下程序为例;

2.在Matlab的App模块中找到如下图所示的Matlab Coder模块;

3.点击Matlab Coder模块,选择需要转换的M文件;

4.点击Next,选择调用了转换M文件的程序(不是需要转化的程序,如下所示,test.m,几行代码即可),可以选择自动定义变量的数据类型、大小等,也可以手动定义;


5.点击Next,如果此时有无法转化的Matlab自带的函数,会报错提示无法转化,需要将调用的函数重新编写;
6.如果不存在无法转化的函数,则会跳出以下界面,继续选择调用了转换M文件的程序(不是需要转化的程序),点击Check for Issues,Matlab会自动检测代码的正确性,三个全绿即可通过(如果确保代码没有问题,第三个提示错误也可以通过,前两个正确即可);

7.点击Next,这一步非常重要,前四项按照需要进行选择,再硬件选择一栏需要选择好移植的硬件,可以选择各种硬件,如果没有满足要求的选项则需要选择None-select device below,然后会出现Device选项,按照需要进行选择,我们的项目需求为Intel芯片的win64电脑(Inetl和AMD的芯片需要区别选择),之后在Toolchain栏选择编译工具,本项目选择VS2017进行编译(VS不同版本对于生成的代码格式要求不同,需要认真选择),最后点击Generate生成所需代码;

8.生成的文件如下图,项目所需的app文件和h文件已经生成,按照提示就可以找到所需的文件;


9.Matalb会给出一个生成文件调用的示例文件,在examples文件夹中,如下图,可按照示例文件格式进行代码编写

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...