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语言的步骤与解决方案相关推荐

  1. matlab无c语言基础自学,matlab及c语言在潮流计算运用【毕设、无需降重】.pdf

    Matlab 及 C 语言在潮流计算中的运用 陈洲 (三峡大学电气信息学院 班) 摘要 :潮流计算是研究电力系统稳态运行情况的一种基本电气计算,常规 潮流计算的任务是根据给定的运行条件和网路结构确定整 ...

  2. matlab m语言,我要编写matlab一个公式的m语言,请问错在哪里?,M语言的MATLAB的M语言...

    导航:网站首页 > 我要编写matlab一个公式的m语言,请问错在哪里?,M语言的MATLAB的M语言 我要编写matlab一个公式的m语言,请问错在哪里?,M语言的MATLAB的M语言 匿名网 ...

  3. python和matlab的区别_我为什么选择Python,不是Matlab和R语言呢?

    做数据分析.科学计算等离不开工具.语言的使用,目前最流行的数据语言,无非是MATLAB,R语言,Python这三种语言,但今天大圣众包(www.dashengzb.cn)小编简单总结了python语言 ...

  4. vs2010 sp1 安装Silverlight5 语言版本不匹配 解决方案

    vs2010 sp1 安装Silverlight5 语言版本不匹配 解决方案 . 时间:2011-11-20 22:10来源:CSDN 作者:spt110 点击: 377次 一.安装silverlig ...

  5. c语言和matlab的区别,Matlab与C语言区别.pdf

    Matlab与C语言区别 煎 苗 降 看 介 醉 省 价 撂 肚 蛾 隘 述 载 郊 面 粘 掠 懦 灾 畅 辑 壶 焰 浩 衡 械 接 汤 呈 混 谣 焊 酝 抨 扯 曝 绩 麦 藻 潮 践 彪 斟 ...

  6. matlab amesim 版本,高版本amesim—matlab联合仿真设置详细步骤.pdf

    高版本amesim-matlab联合仿真设置详细步骤 高版本AMESim-MATLAB 联合仿真设置详细步骤 说明:现以AMESimR12 .MATLAB2010a 为例说明,其他版本类似. 1.版本 ...

  7. matlab 二次曲面拟合,利用MATLAB结合C语言实现GPS高程二次曲面拟合

    最小二乘法 c语言实现线性,matlab进行拟合及 熊志强+肖腾飞 摘 要:对GPS高程曲面拟合的研究有很多,通常人们实现GPS高程曲面拟合都是用单一的编程语言.而文章则介绍结合两种编程语言更加方便地 ...

  8. matlab编程是用c语言吗,matlab调用c语言编程.doc

    实用标准文案 精彩文档 matlab与C语言混合编程 用C编写mex程序??大家都知道,matlab是一种解释型的编程环境,也就是说,跟以前的basic一样,是读一句执行一句的.这样做可以很方便的实现 ...

  9. cic matlab,matlab生成verilog 语言的CIC interpolation filter

    matlab生成verilog 语言的CIC interpolation filter 今天在测试filter偶然发现这个就试了下,还不错. clc clear cic_decim = mfilt.c ...

最新文章

  1. 从浏览器发展史读懂user-agent
  2. 大数据时代千帆竞发,三代测序激流勇进
  3. win2003 + sqlserver2K sp4,客户端无法连接
  4. 广州的11个辖区_避开人潮,广州7月展览指南,有11个免费
  5. 实验四 恶意代码技术
  6. cf1512F. Education
  7. java kettle6_java 调用kettle 6.1 转换
  8. C# MD5,hmacSHA1
  9. 动态html树形菜单模板,JS+CSS简易树状菜单Tree
  10. MySQL数据库修改密码忘记密码
  11. 用 js判断 一个数是否是素数(质数)_小学数学知识点1~6年级汇总整理,收藏起来随时用!(下)...
  12. linux中间人攻击工具,[web安全]使用ARPspoof进行中间人(MiTM)攻击
  13. java中各种常见的异常
  14. No plugin found for prefix ‘doclint‘ in the current project
  15. c语言的常用英语单词和翻译,c语言通用英语词汇带翻译
  16. cad插件_还不会用CAD插件?55款超实用CAD插件大合集!无套路直接送你
  17. missing required library libmysql_e.dll,126 解决办法
  18. SAP 库存盘点 步骤--(详细)
  19. 【考试总结贴】控制测量学
  20. 文墨绘学:情绪的根源——家长的不合理观念

热门文章

  1. 全量异常扑捉注解:@SneakyThrows
  2. java springboot景区购票微信小程序源码
  3. 最长单调递增子序列--动态规划
  4. 三维图形及动画软件开发流程
  5. 使用WebGL + Three.js制作动画场景
  6. IT30:IT部文化建设
  7. h5制作平台打造-H5模板游戏案例《疯狂盖高楼》完全操作手册
  8. python课堂讨论_Python的课堂总结吧
  9. 二元一次不定方程的解法
  10. 佳能G3800彩色喷墨打印机报代码5B00维修