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.下面是生成代码后的界面,至此就算生成成功了

原文地址:https://www.cnblogs.com/xingjian92/p/10183651.html