我是靠谱客的博主 激动火车,最近开发中收集的这篇文章主要介绍MATLAB转C语言的步骤与解决方案MATLAB转C语言的步骤,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

MATLAB转C语言的步骤

步骤

我们首先以求三阶矩阵的逆为例,首先在matlab中编写的代码如下:

  function[res] = inverse(src)
  res = inv(src)
  end

此为新建的一个函数,函数的保存名称为 inverse.m ,需要注意的是这个.m文件必须是函数文件,而不能是脚本文件,而且文件的名称和函数的名称必须一致。
在matlab中输入一个三阶矩阵与输出的结果如下所示:
`在这里插入图片描述
在本文的末尾会验证在VS2017C语言代码的运行结果。
进入主题,在已经写好了函数的前提下,我们在matlab主界面点击 APP (在编辑器旁边),然后点击下拉框,输入code找到如下图的功能模块:
在这里插入图片描述
点击上图中的第一个图标,即 MATLAB Coder ,会弹出下面的界面。第一步,可以直接输入函数的名称,或者点击 Add Entry-Point Function 浏览出函数文件。然后点击next.如下图:
在这里插入图片描述
弹出如下窗口,要求输入指定的形参类型,可以直接输入,或者点击 Autodefine Input Types ,直接填入形参类型。

如果被转的函数中还调用了全局变量,点击下图的add global,把全局变量的名称和类型都填写上。
在这里插入图片描述

点击next

弹出下图(在此界面的输入中可以选择直接输入函数的输入,或者选择一个引用了这个函数的程序,系统会直接检测出你定义的函数的输入形式):点击check for issues按钮,matlab会检测一下你写的m函数能否转换成C函数,如果不能,会给出report,告诉你为什么不能转,哪一行代码导致的不能转,把bug修改完之后,点击clear Mex清除刚才的结果(如果正确的话则不会显示这个按钮),再点击check for issues按钮重新检查即可。如果检测没问题,右下角的next按钮就亮了,并闪烁,你可以点击next了。
在这里插入图片描述
点击next之后就会出现如下界面,可以根据要求进行选择:
在这里插入图片描述
结果如下:
在这里插入图片描述
下面就是验证生成代码是否正确,我们采用VS2017编写代码及逆行验证,VS2017中的代码如下:

#include <stdio.h>
#include "inverse.h"
int main()
{
	double a[9] = { 1,0,1,0,2,1,1,1,1 };
	double b[9];
	inverse(a, b);
	
	for (int i = 0; i < 9; i++)
	{
		printf("%f ", b[i]);
		printf("n");
	}
	return 0;
}

其中,我把matlab生成的代码做成 inverse.h 的头文件(VS中将代码块封装成头文件的步骤请参照我 C语言 中的博文),运行的结果如下:
在这里插入图片描述
代码转换成功。

最后

以上就是激动火车为你收集整理的MATLAB转C语言的步骤与解决方案MATLAB转C语言的步骤的全部内容,希望文章能够帮你解决MATLAB转C语言的步骤与解决方案MATLAB转C语言的步骤所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部