我是靠谱客的博主 漂亮棒球,最近开发中收集的这篇文章主要介绍matlab工具将matlab脚本转C语言实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Matlab 提供了将matlab语句转换成C或者C++语句的工具Matlab coder,但是部分matlab实现的函数是不能转换的,能够转换的函数列表在这个链接中可以找到:https://www.mathworks.com/help/coder/ug/functions-supported-for-code-generation-alphabetical-list.html。
下面就以matlab 2017b为例,说明一下转换过程:
首先在matlab 2017b找到matlab coder工具,点击APPS标签,如下图:
在这里插入图片描述
选择需要转换的matlab函数,选择add,点击Next,如下图:
在这里插入图片描述

点击下图框中可以增加函数,点击Next:
在这里插入图片描述
点击设置参数类型:
在这里插入图片描述
设置两个参数的参数类型:
在这里插入图片描述
还可以添加全局变量;
在这里插入图片描述因为是标量,所以1x1,如果是矢量,可以选择mxn,输入m,n,也可以选择不定个数。
直接next,再next,更高级设置点more setting,Tool chain可以下拉选择平台,我使用的是Vs,选择“auto locate”当前开发工具,默认点击Generate,开始生成代码,
在这里插入图片描述
如果途中没有错误,出现下面的类似画面,表示生成成功,
在这里插入图片描述
成功生成之后,在add.m同目录下产生一个codegen目录中,lib目录下有所有生成C文件,按照matlab函数名命名目录,在add目录下,有个add.c文件,截取部分源码如下:

#include "add.h"

/* Function Definitions */

/*
 * Arguments    : double a
 *                double b
 * Return Type  : double
 */
double add(double a, double b)
{
  return a + b;
}

/*
 * File trailer for add.c
 *
 * [EOF]
 */

感觉生成的代码包括一个库工程还有测试代码,但是我没有试过,我新建一个控制台工程来测试代码,不需要修改任何代码,编译顺利通过。

需要注意的是,生成代码并不是像这个简单例子那么顺利,例如如果函数中warning功能,就不能转换成C,但是有error却可以,varargin也不支持,另外,参数的类型设置需要设置正确,否则生成代码时会出现错误,特别是数组与元胞数组时。

最后

以上就是漂亮棒球为你收集整理的matlab工具将matlab脚本转C语言实现的全部内容,希望文章能够帮你解决matlab工具将matlab脚本转C语言实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部