Matlab Coder的基本使用.pdfVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Matlab Coder的基本使用

权利声明:本文系雷声天下个人学习所用,将Mathworks 公司高级工程师Loren 的日志翻译 成中文,与大家分享。喜欢 Matlab 的同学可以好好学习一下。不可以被用作商业利用啊, 违者必究!!! 本文的问题:Matlab Coder 的基本使用 Matlab 的C 语言自动生成 (一) Matlab 2 C 语言简史: 2011 年4 月Mathworks 公司将Matlab 的M2C 语言生成功能作为一个独立的产品推出,这个 功能是的我们可以从Matlab 算法生成可读的、端口模块化的、订制的C 代码。其实Matlab 的老用户们不觉得这是什么新鲜的功能,下面我们给出这个功能的日程表 2004 在Simulink 中添加了 Embeded Matlab Function 模块 2007 在Real-Time Workshop 中添加了emlc 函数,现在称其为Simulink Coder 用于生成独立 的C 代码 2011 发布了 Matlab Coder,第一个独立的产品,用于从Matlab 代码中生成独立的、可读的、 模块化的C 代码 代码生成样例: 下面给出一个简单的代码生成样例: 我们手中有这样一个函数文件名称为 simpleProduct.m 若果我们使用dbtype 命令,将函数的内容按照行号显示出来,就会有如下结果 dbtype simpleProduct.m 1 function c = simpleProduct(a,b) %#codegen 2 c = a*b; 为了将这个函数生成C 文件,需要提前将文件中的输入、输出参数的维数进行指定,这时候 可以以实用Matlab 提供的Matlab Coder UI 辅助设计如图表 1 所示: 图表 1 启动Matlab Coder UI 并且按照引导生成新的功能,首先如图表 2 和图表 3 所示建立新的工程 图表 2 建立工程 图表 3 添加要生成的文件并且选择类型 导入文件成功后采用功能,对其中的参数定标,确定数据的类型和维数 图表 4 确定参数的类型和维数 图表 5 参数修改结果 点击Build 界面开始生成代码 图表 6 生成代码 图表 7 代码生成成功 代码生成成功后就可以,查看代码并且可以查看相应的报告 图表 8 相应的报告 在报告当中可以看到有哪些函数的生成了 同样的还可以采用这个工具包生成MEX 文件 让我们开始回顾这个过程: 1 首先我们开始准备文件 有可能Matlab 的某些函数不在支持转化范围,需要你重新调整算 法才是 2 验证和测试,请你生成一个MEX 函数文件来测试是否你生成的M 函数是正确的。当然具 体的过程就是你要把Mex 函数替代原有的M 函数,然后测试生结果,不行的话就返回头去 修改你的M 代码吧 3 生成:别的不说了生成吧 下面是原日志中一个成熟的例子 dbtype newtonSearchAlgorithm.m 1 function [x,h] = newtonSearchAlgorithm(b,n,tol) %#codegen 2 % Given, a, this function finds the nth root of a 3 % number by finding where: x^n-a=0. 4 5 notDone = 1; 6 aNew = 0; %Refined Guess Initialization 7 a = 1; %Initial Guess 8 count = 0; 9 h(1)=a; 10 while notDone 11 count = co

文档评论(0)

docindpp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档