之前一直听说matlab代码可以转C和C++代码,但是一直都没有时间尝试,最近闲着无聊,就想来试试如何转换,上网查了很多资料,照着做下去,发现都有一些问题,之后自己琢磨了很久,终于将一个很简单的例子给做通了,现在将我在配置过程中遇到的问题以及我的解决方法写出来和大家分享。

  首先是mex -setup命令的配置。很多人在输入mex -setup的时候都显示缺少编译的SDK,这个时候需要我们自己下载安装一个gcc编译器,推荐使用TDM-GCC MINGW,下载地址为https://sourceforge.net/projects/tdm-gcc/?source=typ_redirect。一切采用默认安装,安装完成后需要配置环境变量。变量名为MW_MINGW64_LOC,变量值为C:\TDM-GCC-64(这个是默认安装位置)。重启matlab,再次输入mex -setup,会出现以下的提示:

图  1

大家请注意,上图表示编译器安装成功,很多人到了这一步就不知道如何走下去了,经过我的测试,有以下两种方式可以进入代码转换界面。第一种是在命令行输入coder,自动跳转到matlab coder界面,第二种是在主菜单中选择APP界面,然后点击matlab coder工具箱。

在这之前,有必要创建我们的转换函数文件以及调用该函数的测试脚本文件

mex_test.m

%待转换函数

function c=mex_test(a,b)
c=a+b;
end

%end

test1.m

%测试脚本文件

a=1;
b=2;
c=mex_test(a,b);

%end

进入工具箱的界面如图2所示,在这里,你需要选择待转换的文件,matlab对转换的文件做了限制,脚本文件时无法转换的,只有函数文件可以转换,也就是你可以将一个funcrion函数封装在M文件中,然后将这个M文件中的函数转换成C以及C++代码。

图 2

在图2选择待转换的M文件(我的是mex_test.m)后,出现以下界面:

图 3

点击图3右下角的next进入下一步,如下图所示。

图 4

在图4中,提示我们需要对输入的参数进行类型定义,有两种方法,一种是自动的,该方法只需要我们写一个调用该函数的脚本程序(test1是我的脚本程序),编辑器会自动识别各个输入参数的类型,如图5所示;另外一种是点击图4蓝标区域,手动指定参数类型。

图 5

点击next,进入下一步,如果采用的是第一种方法来定义参数类型,那么这一步会直接出现图6的图框内容,如果采用的是第二种方法,需要选择我们的测试脚本文件。然后点击check按钮,不出意外应该会通过,如图7所示。

图 6

图 7

点击进入下一步,出现图8所示的图框,选择相应的语言,即可。

好了,基本上大功告成。

matlab coder 工具箱使用教程的更多相关文章

  1. MATLAB地图工具箱学习总结(一)从地图投影说起

    MATLAB地图工具箱学习总结(一)从地图投影说起 前言 本学期地图投影课上,李连营老师建议我们使用MATLAB完成每周的作业.从大二上学期开始接触MATLAB学习数学运算和地理数据处理的我,自然不会 ...

  2. MATLAB 地图工具箱 m_map 的安装和入门技巧(转)

    reference: http://blog.sina.com.cn/s/blog_8fc890a20102v6pm.html   需要用一些地图工具,arcgis懒得装了,GMT(generic m ...

  3. MATLAB地图工具箱学习总结(四)自定义投影

    MATLAB地图工具箱学习总结(四)自定义投影 这是本系列的最后一篇文章,准备给大家讲讲自定义投影怎么做.在做这项作业的时候,自己也是花了不少时间,将所有地图投影源文件都看了一遍,简单分析了一下源代码 ...

  4. MATLAB地图工具箱学习总结(三)地图工具箱的基本知识

    MATLAB地图工具箱学习总结(三)地图工具箱的基本知识 今天想要介绍的是一些比较基础的函数.了解了这些函数,地图投影的基本概念才能真正明白.而要想继续研究MATLAB中有关地图投影的函数,尤其是未来 ...

  5. MATLAB地图工具箱学习总结(二)大圆和恒向线

    MATLAB地图工具箱学习总结(二)大圆和恒向线 今天要和大家谈一谈大圆.恒向线航道的画法.还是先从案例开始说起,再分别介绍相关的函数. 1                    作业案例:地图投影作 ...

  6. MATLAB Coder从MATLAB生成C/C++代码步骤

    MATLAB Coder可以从MATLAB代码生成独立的.可读性强.可移植的C/C++代码. 使用MATLAB Coder产生代码的3个步骤: 准备用于产生代码的MATLAB算法: 检查MATLAB代 ...

  7. MATLAB统计工具箱 转

    D:\Program Files\MATLAB\R2012b\toolbox\stats\stats MATLAB统计工具箱包括概率分布.方差分析.假设检验.分布检验.非参数检验.回归分析.判别分析. ...

  8. 转 举例说明使用MATLAB Coder从MATLAB生成C/C++代码步骤

    MATLAB Coder可以从MATLAB代码生成独立的.可读性强.可移植的C/C++代码. http://www.mathworks.cn/products/matlab-coder/ 使用MATL ...

  9. matlab遗传算法工具箱

    转自http://blog.sina.com.cn/s/blog_5ebcc0240101pnrj.html matlab遗传算法工具箱函数及实例讲解 (2014-01-10 13:03:57)   ...

随机推荐

  1. 网络通信 --> TCP三次握手和四次挥手

    TCP三次握手和四次挥手 建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 一.TCP报文格式 如下图: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发 ...

  2. pycharm 的安装及selenium环境的搭建

    6.呵呵哒,前面写了一篇pycharm的安装,,结果自己都看不懂了,copy了别人的,,,自己现在再写一遍,这篇文章主要写pycharm 的安装及selenium 环境的搭建,selenium的搭建不 ...

  3. java并发包——阻塞队列BlockingQueue及源码分析

    一.摘要 BlockingQueue通常用于一个线程在生产对象,而另外一个线程在消费这些对象的场景,例如在线程池中,当运行的线程数目大于核心的线程数目时候,经常就会把新来的线程对象放到Blocking ...

  4. Java基础学习笔记十五 集合、迭代器、泛型

    Collection 集合,集合是java中提供的一种容器,可以用来存储多个数据. 在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据.那么,集合和数组既然都 ...

  5. 设置如何远程连接mysql数据库

    安装好mysql5.6.37后,默认情况下,只允许本地登录,禁止远程登录. 可以现在本地安装好连接工具,比如sqlyog或者navicat 登陆后,切换至mysql数据库 执行下面2条语句 '; FL ...

  6. 201621123060《JAVA程序设计》第二周学习总结

    1.本周学习总结 本周学习了JAVA中的引用类.包装类(学习了一种语法:自动装箱)和数组(遍历数组的新方法foreach循环). 2. 书面作业 1.String-使用Eclipse关联jdk源代码 ...

  7. 20145237 实验一 逆向与Bof基础

    20145237 实验一 逆向与Bof基础 1.直接修改程序机器指令,改变程序执行流程 此次实验是下载老师传给我们的一个名为pwn1的文件. 首先,用 objdump -d pwn1 对pwn1进行反 ...

  8. 张金禹 C语言--第0次作业

    1:在填报专业的时候,我也犹豫了很久,但最后还是选择了计算机专业.因为在上大学之前我就对编程.设计等有浓厚的兴趣,但繁重的高中学习任务使我没有过多的去关注,所以我选择了计算机专业去培养我在这方面的兴趣 ...

  9. Webview之H5页面调用android的图库及文件管理

    h5页面打开图片管理器 一般页面在pc打开文件管理器是用 type="file"的代码,可是这在android的webview是无效的,必须为webview设定WebChromeC ...

  10. 构建微服务开发环境3————Java应用的优秀管理工具Maven的下载安装及配置

    [内容指引] 下载安装包: MacOS下Maven的安装及配置: Windows下Maven的安装及配置. 一.下载安装包 进入Maven的官方下载地址:http://maven.apache.org ...