matlab转C语言
1.软件版本 matlab R2018a
2.步骤
(1).编写特定功能的matlab代码,以及其测试文件
(2).检查matlab代码的兼容性,确保matlab代码都能转换成C/C++代码(并不是所有的matlab代码都能生成C/C++代码)
(3).生成 .c 文件和mex文件
(4).在C语言编译器中验证生成的 .c 文件
3.详细步骤
3.1 编写matlab代码及其测试文件
1.编写matlab代码
function [c,d] = add(a,b) for i =1:1:10 c = a + i; d = b * i; end end
2.编写测试文件。类似于Verilog语言里面的testbench,给出输入信号,然后调用matlab的功能函数
clear all; clc; close all; x = 8; y = 17; [m,n] = add(x,y);
3.2 生成步骤
1.在APP菜单栏里面找到matlab coder ,双击打开
2.Entry-Point Function 里面选择matlab的功能函数文件。如果是一个大型工程,只需要把最顶层的文件添加进来。它会自动的添加下面的子文件。下一步
3.这里添加测试文件tb_add。然后点击autodefine input types.系统会自动的为输入变量分配类型,默认是double。也可以手动为输入变量分配类型。需要注意的是需要将matlab的工作路径设置在测试文件所在的路径,不然这一步会提示没定义测试文件。下一步
4.点击check for issues,系统会生成MEX函数。如果功能函数和测试文件有错误或者哪些matlab语句不能转换成C语言,在这一步都会报出来。如果在开始编写matlab功能函数的时候不知道哪些语句无法生成C语言,就先不用管。然后在这一步根据提示进行修改。下一步
5.这一步是配置生成C语言的参数。
1.build type是配置要生成文件的类型,这里选择source code.
2.hardware Board 这一栏选择None select device below.然后根据自己的硬件板,在device 那一栏选择相应的器件。如果没有硬件板,就选择默认的matlab host computer
3.ToolChain,根据自己的C语言编译器进行选择相应的编译器(貌似是这样,不确定)
4.more setting 里面根据自己的需要进行配置,一般可以选择默认配置
5.点击generate
6.下面是生成代码后的界面,至此就算生成成功了