MATLAB数学建模与仿真(第2版·微课视频版)程序代码 综合实例(五)_第1页
MATLAB数学建模与仿真(第2版·微课视频版)程序代码 综合实例(五)_第2页
MATLAB数学建模与仿真(第2版·微课视频版)程序代码 综合实例(五)_第3页
MATLAB数学建模与仿真(第2版·微课视频版)程序代码 综合实例(五)_第4页
MATLAB数学建模与仿真(第2版·微课视频版)程序代码 综合实例(五)_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【例6-9】创建一个Simulink模型HelloWorld。1.打开Matlab,新建一个Simulink模型,同时将模型另存为HelloWorld.slx。2.打开模块库浏览器。在Sources库中添加2个Constant模块,将其中一个旋转至输出端向上。在MathOperations库中添加1个Sum模块。在Sinks库中添加1个Display模块。3.连接信号线。如图6-69所示。图6-69系统框图4.按下快捷键Ctrl+B对模型进行编译。此时,由于还没有对代码生成进行相关配置,系统会弹出错误提示,要求对代码生成进行相关配置。由于程序仿真为非连续仿真,所以在生成C代码时,Simulink会给出三个提示及对策:需要将仿真解算器(Solver)步长改为固定步长(fixed-step)。把输出目标文件类型改为可变步长目标文件。通过向导完成代码生成的相关设置。如图6-70所示。图6-70错误提示5.点击第一项后的Open按钮,在弹出模型参数设置对话框中,将Solverselection栏中的Type改为fixed-step。如图6-71所示。图6-71设置Solverselection6.为了简化其他代码生成的相关设置,点击错误提示中的第三项后的Open按钮,利用SimulinkCoderQuickStart向导进行配置。如图6-72所示。图6-72SimulinkCoderQuickStart向导7.一直点击Next按钮,采用默认配置即可。配置完成后,点击Finish按钮关闭SimulinkCoderQuickStart向导。如图6-73所示。图6-73SimulinkCoderQuickStart向导配置完成8.回到Simulink模型界面,按下快捷键Ctrl+B进行C代码自动生成。由于之前的SimulinkCoderQuickStart向导会默认打开“代码生成报告”功能,因此在代码生成结束后,会自动弹出网页形式的报告。如图6-74所示。图6-74网页形式的报告9.点击报告左边栏中的HelloWorld.h可以打开生成代码的头文件。但是,在对应的HelloWorld.c中找不到加法运算的相关代码。原因在于在模型中只是将变量显示在了Simulink的Display模块中。对于程序来说,并没有真正的输出。没有输出的代码会被Simulink优化掉。10.将模型中的Constant和Display分别用in模块和Out模块替换。如图6-75所示。图6-75模块替换后的系统框图11.画框选中所有模块,按下快捷键Ctrl+G或通过MULTIPLE选项卡→CREATE栏→CreateSubsystem,将选中模块集生成一个子系统,以便最终生成一个叫GetSum的C代码函数。如图6-76所示。图6-76生成子系统后的系统框图12.在模型中添加一个DataStoreMemory模块,添加这个模块相当于在C语言中声明一个新的全局变量A。添加DataStoreRead模块替换In1模块,读取A的数据,作为GetSum子系统的输入。添加DataStoreWrite模块替换Out1模块,将GetSum子系统的输出,写入到A中。如图6-77所示。图6-77模块替换后的系统框图13.为了生成一个单独的函数,需要将GetSum子系统,定义为atomicunit(原子子系统)。在GetSum子系统上右键→BlockParameters(Subsystem)→选项卡Main→勾选Treatasatomicunit→选项卡CodeGeneration→Functionpackaging选择Reusablefunction。如图6-78所示。图6-78GetSum子系统参数设置14.按下快捷键Ctrl+B生成代码。在代码生成报告的左侧链接处,或在matlab文件夹中可以看到生成的代码文件HellowWorld.c。15.打开HelloWorld.c文件,可以看

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论