上文(https://mp.csdn.net/editor/html/115607641)我们用实例讲解了如何利用.m文件实现对simulink系统的动态仿真,实例中有一句代码为:
复制代码
1[t1,x1,y1]=sim('new',10)
该语句中x1,y1均为空数组,其表示什么含义呢?如何让x1、y1有值呢?本文就来对sim语句进行详细的讲解。
一、sim语句的语法结构
复制代码
1
2[T,X,Y] = sim('model',Timespan, Options, UT) [T,X,Y1,...,Yn] = sim('model',Timespan, Options, UT)
T:返回仿真的时间向量
x:返回仿真的状态矩阵,该矩阵由连续状态和离散状态组成
y:返回仿真的输出矩阵
model:模型名称,即simulink的文件名
timespan:仿真的起始时间和结束时间
二、实例讲解
仍然以自由落体运动为例
搭建simulink系统如下,本次仿真用inport模块作为g,以output模块作为输出,将输入输出数据记录到workspace中
设置inport模块、output模块的方法:在simulink下拉菜单中选择model configuration parameters选项,设置输入名称为input、输出名称为yout、时间名称tout
然后编写.m文件
复制代码
1
2
3
4
5
6
7
8
9
10
11
12clc clear all %%%g=10时高度与时间的关系 t=0:0.2:10 h=10+0*t input=[t',h'] [t1,x1,y1]=sim('new',10) %绘图 figure plot(t1,y1)
输出结果如下,这时我们发现y1是有值的。
打开simulink中示波器(scope)中查看h与时间的关系,发现与.m文件绘制的图像一致,说明输出结果确实记录至workspace中。
最后
以上就是欢呼钢笔最近收集整理的关于MATLAB如何利用.m文件实现对simulink系统的动态仿真?(2)的全部内容,更多相关MATLAB如何利用.m文件实现对simulink系统内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复