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

matlab转C语言的更多相关文章

  1. MATLAB与C语言对比实例:随机数生成

    MATLAB与C语言对比实例:随机数生成 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 一.整型随机数生成函数 1.C语言程序 int intrand ...

  2. Matlab调用C语言函数

    Matlab调用C语言函数 如果我有一个用C语言写的函数,实现了一个功能,如一个简单的函数:double add(double x, double y) { return x + y ;}现在我想要在 ...

  3. matlab和C语言实现最小二乘法

    参考:https://blog.csdn.net/zengxiantao1994/article/details/70210662 Matlab代码: N = ; x = [ ]; y = [ ]; ...

  4. matlab和C语言的break及continue测试

    break和continue语句 有两个附加语句可以控制while和for循环:break和continue语句.break语句可以中止循环的执行和跳到end后面的第一句执行,而continue只中止 ...

  5. Matlab和C语言混合编程,包含目录的设定

    如果.c文件不依赖于任何第三方库,那么mex编译很简单,只需要在matlab的命令行输入 mex test.c 即可. 但是如果这个c文件使用了第三方库文件,如opencv.gsl等等,那么就需要更改 ...

  6. MATLAB和C语言混合编程-----Matlab7.0 编译器设置

    (1) mex 命令设置 (a) 运行 Matlab ,在 Matlab 的命令窗口 (Command Window) 键入“ mex -setup ”命令后,按回车键,安装 Matlab 编译器: ...

  7. C语言与MATLAB接口 编程与实例 李传军编着

    罗列一下以前自己学习C语言与MATLAB混编的笔记,顺便复习一遍. <C语言与MATLAB接口 编程与实例 李传军编着>(未看完,目前看到P106) 目录P4-8 ************ ...

  8. Matlab界面语言切换,自由显示中文或英文语言

    Matlab界面语言切换,自由显示中文或英文语言分享给大家,Matlab是一款商业数学软件,广泛使用于算法的开发.数据发现和数值计算等.不同用户对Matlab显示的语言需求也不一样,一用户习惯使用中文 ...

  9. 接触Matlab10年后的一个总结,随时使用Matlab要掌握的一些要点

    不记得上一次写超过20行的matlab程序是什么时候了,大概是2013年吧,那个时候写过2篇文章,实际用到了 一些matlab的内容,超过200行的matlab程序应该要追溯到2011年了,最近为了帮 ...

随机推荐

  1. SDL 开发实战(七): SDL 多线程与锁机制

    为什么要用多线程?在音视频领域主要是实现音视频同步.实现了音视频同步,我们的播放器就基本上合格了. 这里我们将讲解一下SDL的多线程与锁机制. 多线程的好处主要是能使程序更加充分利用硬件(主要是CPU ...

  2. 开放windows服务器端口-----以打开端口8080为例

    [转载]原文地址:https://blog.csdn.net/spt_dream/article/details/75014619 本文记录两个内容: 1.win7下打开端口 2.服务器(2003或者 ...

  3. webpack学习笔记一:安装webpack、webpack-dev-server、内存加载js和html文件、loader处理非js文件

    一 .webpack学习环境准备: 1:window系统 2:安装node.js  官方网址 下载好后下一步下一步安装即可 安装步骤略过....... 3:nrm的安装 打开cmd命令控制台 输入:n ...

  4. HTML5+CSS3入门学习(一)——HTML5

    什么是 HTML5? HTML5 将成为 HTML.XHTML 以及 HTML DOM 的新标准. HTML 的上一个版本诞生于 1999 年.自从那以后,Web 世界已经经历了巨变. HTML5 仍 ...

  5. PERL学习笔记---正则表达式

    要匹配某个模式(正则表达式)和$_的关系,可以将模式放在正斜线(//)之间,如下:$_ =“yabba dabba doo”;if(/abba/){print “It matched!\n”;} 表达 ...

  6. 从零开始搭建运维体系 - ansible

    从零开始搭建运维体系 - ansible 基本配置好了局域网内的机器后,第一个遇到的问题就是如何批量操作这么多台机器,ansible就是这么一个自动化运维工具. ansible是一个基于ssh的批量远 ...

  7. Centos扩容swap分区

    今天在vps上装了个msf,装了一半竟然被kill掉了,因为RAM只有512M,swap也只有130M.遂到网上寻求解决办法,下面是我的笔记: 查看当前swap大小: free -h 修改swap大小 ...

  8. SDK测试实践

    最近开始接SDK的测试项目,因为之前没有接触过,还是很新奇的,记录一下测试方法. 大家都知道SDK其实就是一个基础工具包,我的理解,对于安卓和IOS来说,SDK就是一个应用程序的基础包,在SDK的基础 ...

  9. Python:os 模块常用方法简介

    返回当前工作目录 os.getcwd() 返回 path 的绝对路径 os.path.abspath(path) os.path.abspath('.') 相当于 os.getcwd() 分割目录和文 ...

  10. SmartCode 正式开源,不只是代码生成器!

    SmartCode(https://github.com/Ahoo-Wang/SmartCode) SmartCode = IDataSource -> IBuildTask -> IOu ...