主要内容

打破代数循环

这个例子展示了如何创建一个MATLAB系统块,可以打破一个代数循环模型中。

系统对象

系统对象允许您使用MATLAB实现算法。系统对象是一种特殊的MATLAB对象,专门为实现和模拟动态系统随时间变化的输入。

定义一个系统对象后,您可以包括在使用MATLAB仿真软件模型系统。金宝app

模型描述

这个例子有一个MATLAB系统块中使用一个反馈回路的模型。反馈回路用于积累输入值,结果显示在了块范围。反馈模型中创建一个代数循环。解决代数循环,仿真软件需要一块间接引线。金宝app块有间接引线打破代数循环使用的反馈循环。这个物体可以产生一个输出在当前时间步没有接收输入。在这个例子中,MATLAB系统块间接引线。

MATLAB系统块使用对象UnitDelayNondirect实现一个单位延迟。输出显示了如何反馈循环累积输入信号的值。

系统对象类定义

您可以访问MATLAB源代码使用MATLAB系统阻止通过单击“源代码”超链接块对话框。的UnitDelayNondirect系统对象实现了resetImpl,outputImpl,updateImpl方法。系统对象的一个属性状态

  • resetImpl初始化状态属性为0。

  • outputImpl返回值存储在状态。间接直通的,因为这个系统对象outputImpl不使用任何输入。

  • updateImpl使用输入的更新状态

classdef UnitDelayNondirect < matlab。系统% UnitDelayNondirect延迟输入一个时间步属性(DiscreteState)状态结束方法(访问=保护)函数resetImpl (obj) obj。国家= 0;%初始化状态结束函数y = outputImpl (obj, ~) y = obj.State;% %输出电流状态输入是不习惯在这个方法结束函数updateImpl (obj, u) obj。国家= u;%更新状态与输入端端端

另请参阅

|

相关的话题