2011a 将M文件转为C代码的简单流程

[复制链接]
lancia 发表于 2011-10-22 10:04:55
昨天试了一下新功能,简单写下流程吧~
1. 如之前没有进行过编译,先mex -setup命令进行编译器设置
2. 待生成代码的的m文件需要做一点修改,即在function...定义之后加一句   %#codegen
如     function y=bianhuan(x)     %#codegen
3. 之后点击  file----new----code generation project
新建文件名后显示界面:左边是overview, 右边是build
进入overview选项卡,add file 处添加bianhuan.m,此时自动出现未定义变量的下拉菜单,此时需通过define by example 进行定义
123.bmp

4. 最后进入build界面,可以生成mex 函数,c代码,或者可执行程序
1234.bmp

当然在命令行输入命令也可以完成以上操作
matlab支持400多个m函数的转换,函数列表:
http://www.mathworks.com/help/toolbox/eml/ug/bq1h2z7-11.html

但是有的函数的转换有限制,如
eye()函数,转换时变量必须是实型非负整常数
若有定义
N=3;
eye(N)
貌似将无法生成c代码
这也是需要改进的地方吧~

22 条回复


hyowinner 发表于 2011-10-30 09:22:47
赞!哪里有下载2011版本的啊。

lancia 发表于 2011-10-30 23:21:34

回复 2# hyowinner 的帖子

我是从学校内网上下的,能不能从其他地方下还不太清楚啊~

zqyadam 发表于 2011-11-1 08:38:36
不错 顶一个

xinfengj8 发表于 2011-11-3 11:26:20

看卡卡你   支持一下

老胡 发表于 2011-11-4 21:08:29
原帖由 lancia 于 2011-10-30 23:21 发表
我是从学校内网上下的,能不能从其他地方下还不太清楚啊~

你该去找吴老师要正版的安装。这样遇到一些技术问题的时候,可以直接打MathWorks北京的技术支持热线获取技术支持。
另外,关于M文件生成C代码,主要应用到两个方面,
一,你有现成的用M语言实现的成熟算法,如果想把这些算法实现到单片机或者DSP等处理器上,可以使用Embedded Coder将M代码变成C代码。
二,如果你要设计的算法里会用到大量的矩阵运算,那么你可以借助于MATLAB处理矩阵运算的能力,用M语言编写算法,再通过Embedded Coder实现为C代码。
除了上述两种情况之外,我个人倒是建议尽量使用Simulink/Stateflow建模实现。

lancia 发表于 2011-11-5 12:31:26

回复 6# 老胡 的帖子

恩,谢谢您的建议!
我准备了解一下stateflow,有问题多向您请教!

老胡 发表于 2011-11-13 12:54:51
原帖由 lancia 于 2011-11-5 12:31 发表
恩,谢谢您的建议!
我准备了解一下stateflow,有问题多向您请教!

计划在12月份到吉大做一个Stateflow的Workshop,欢迎有兴趣的同学参加。

lancia 发表于 2011-11-13 16:45:02

回复 8# 老胡 的帖子

好的!期待您的到来~~

bhsunjy 发表于 2012-2-8 16:41:04
学习一下~

iampoor 发表于 2012-2-7 11:12:37
学习。。。。。。。。。。

zhaobao 发表于 2012-2-4 20:08:59
good!!!

zhaobao 发表于 2012-2-4 20:14:31
谢谢分享!!

zxfengye 发表于 2012-2-4 16:23:13
matlab 2010a肿么办?

niannen 发表于 2012-2-24 19:04:01
好及时的帖子,谢谢分享

fantasymatric 发表于 2012-3-3 13:31:10
谢谢,学习学习

jianxinshisan 发表于 2012-3-9 19:36:15
能具体一点吗???

cryboylove 发表于 2012-3-12 22:29:39
在哪里下载2011a版本啊!!!!!!!!!!!

lancia 发表于 2012-3-13 09:20:01
jianxinshisan 发表于 2012-3-9 19:36
能具体一点吗???

现在也基本没有用过这个功能,只是简单的了解过一些
我个人感觉如果真需要M转C 的话,这个方法是不能一劳永逸的,大量的程序还要自己写
也许随着版本的更新这个功能会完善一些吧

lancia 发表于 2012-3-13 09:21:03
cryboylove 发表于 2012-3-12 22:29
在哪里下载2011a版本啊!!!!!!!!!!!

我也不清楚在网络上哪里可以下到2011

cjkkitty 发表于 2012-3-22 14:12:08
受益了

shihun009 发表于 2012-3-27 12:54:42
谢谢1!!

大头圆 发表于 2012-7-27 16:39:02
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表