网站大量收购独家精品文档,联系QQ:2885784924

MATLABRTWEngine操作步骤.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLABRTWEngine操作步骤

1、搭建simulink模型 输入幅度为3的阶跃信号进行测试 得到输出为 2、设置matlab 新安装的matlab及vc,需要进行配置,在matlab窗口中输入 mex –setup 按提示进行默认配置即可。 3、设置仿真参数 4、生成c代码 生成文件在matlab当前目录下model_grt_rtw文件夹下 5、新建vc工程(windows窗体程序) 添加模型源文件(由simulink模型自动生成的) 6、设置vc环境 添加matlab相关文件引用 7、项目属性设置 对新增加的c源文件,修改预编译头 工程属性 8、文件修改 model.h中增加 //added by clh/////////////////////////////// extern void MdlOutputs(int_T tid); extern void MdlUpdate(int_T tid); extern void MdlInitializeSizes(void); extern void MdlInitializeSampleTimes(void); extern void MdlInitialize(void); extern void MdlStart(void); extern void MdlTerminate(void); extern RT_MODEL_model *model(void); /////////////////////////////////////////// 使用函数的文件(form1.h)中增加引用 extern C { #include model.h #include model_private.h //#include model_types.h //#include rtwtypes.h //#include rtmodel.h //#include rt_nonfinite.h } Button按钮处理中增加 得到输出结果 结果一致。 二、Matlab engine的应用 1、simulink建模 2、配置模型参数 3、运行模型 4、新建vc工程 设置链接库 设置后需要重启计算机 引用头文件 // stdafx.h : 标准系统包含文件的包含文件, // 或是经常使用但不常更改的 // 特定于项目的包含文件 #pragma once // TODO: 在此处引用程序需要的其他头文件 #include engine.h private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { Engine* ep; ep = engOpen(\0); engEvalString(ep,cd(F:/study/buaa实验)); //进入模型所在目录 engEvalString(ep,xInitial = []); //对模型运行所需变量初始化 engEvalString(ep,value = zeros(1,1001)); //生成一个向量用于存储模型的输 engEvalString(ep,t = 0.0); engEvalString(ep,num = 0); for(int i=0;i1001;i++) { engEvalString(ep,sim(model_1,[t t+0.01])); int temp = engEvalString(ep,value(1,num+1)=simout.signals.values(2,1)); engEvalString(ep,t=t+0.01); engEvalString(ep,num=num+1); engEvalString(ep,xInitial=xFinal); } engEvalString(ep,time=[0:0.01:10]); engEvalString(ep,plot(time,value)); MessageBox::Show(dfkjfj); engClose(ep); } - 15 -

文档评论(0)

yaobanwd + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档