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. PHP中$GLOBALS和global的区别

    很多人都认为$GLOBALS['var']和global $var只是写法上不同,其实并不是这样 根据官方的解释是  $GLOBALS['var']是外部全局变量$var的本身, 而global $v ...

  2. git客户端保存用户名密码

    [转载]原文地址:https://blog.csdn.net/qq_26819733/article/details/52735123/ 看图说话,直接在Tortoisegit的设置中,点git-&g ...

  3. MySQL 查询出的时间相差几个小时

    最近做的一个springboot2.0项目. 前提是我的服务器时区没有问题: [root@wangbo ~]# date -R Mon, 22 Apr 2019 19:24:33 +0800 可以参考 ...

  4. Self Host 使用 Exceptionless 实时监控程序运行日志服务

    Exceptionless 是一个可以对 ASP.NET Core, ASP.NET MVC,WebAPI, WebForms, WPF, Console 应用提供系统的日志,错误监控.报表等服务实时 ...

  5. ViewPagerWithImageDemo【ViewPager如何判断滑动到第一页和最后一页以及弹出对话框功能】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 记录viewpager滑动的时候弹出对话框的功能(关键功能是滑动弹出对话框后,隐藏对话框的时候当前页可以还原到原位置),顺便判断首页 ...

  6. MySQL自定义函数与存储过程

    1.前置条件 MySQL数据库中存在表user_info,其结构和数据如下: mysql> desc user_info; +-----------+----------+------+---- ...

  7. 卷积神经网络 CNN 学习笔记

    激活函数Relu 最近几年卷积神经网络中,激活函数往往不选择sigmoid或tanh函数,而是选择relu函数.Relu函数的定义 $$f(x)= max(0,x)$$ Relu函数图像如下图所示: ...

  8. 生产线平衡问题的+Leapms线性规划方法

    知识点 第一类生产线平衡问题,第二类生产线平衡问题 整数线性规划模型,+Leapms模型,直接求解,CPLEX求解 装配生产线平衡问题 (The Assembly Line Balancing Pro ...

  9. 105 - kube-scheduler源码分析 - predicate算法注册

    一.predicate注册过程 今天我们来聊聊predicate函数是怎么被注册进去的,也就是要执行的一堆predicate是怎么成为“选中的孩子”.  代码位置:pkg/scheduler/fact ...

  10. Spring Boot配置拦截器及实现跨域访问

    拦截器功能强大,能够深入方法前后,常应用于日志记录.权限检查和性能检测等,几乎是项目中不可或缺的一部分,本文就来实现Spring Boot自定义拦截器的配置. 理论指导 问:Spring Boot怎么 ...