matlab/simulink中代数环的问题及解决措施

简介:
一、代数环的问题
在数字计算中,输入信号决定输出信号,同时输出信号也决定输入信号,由于数字计算的时序性,导致没有输出信号无法计算输入信号,没有输入信号又反过来无法计算输出信号,形成一个死锁(deadlock)或死循环,这就是代数环。如下图1所示,就是一个简单的代数环的例子。
matlab/simulink中代数环的问题及解决措施
图1、一个简单的代数环的例子
二、代数环产生的条件
简单地说,代数环其实就是一个输入信号包含输出信号,同时输出信号也包含输入信号的特殊反馈回路。在simulink中,这是由于直通模块(无延时的模块)的原因造成的,simulink中大部分的模块都是直通模块,因此很容易形成代数环。在整个回路中,只包含直通模块就会形成代数环,反馈回路有延时模块就会消除代数环。
三、代数环的解决措施
1、用工具栏中的“simulink”中的“diagnostics”对代数环进行消除
将simulink中diagnostics的对代数环的处理信息进行选择,将对代数环的处理信息选择为“none”,即忽略代数环的信息。
2、在反馈回路中添加延时模块进行消除
由于代数环的产生是由于整个模型中所有模块均为直通模块,因此只需在反馈回路中添加延时模块即可消除代数环。延时模块有delay模块、memory模块,如图2所示,用memory来消除代数环。
matlab/simulink中代数环的问题及解决措施
图2、用memory模块来消除代数环的例子
3、用变换法消除代数环
对于简单的代数环问题,可以通过人为地采用数字变换法来求解消除代数环,但这只针对简单的代数环有限,对于复杂的代数环基本不可能实现。
4、在反馈回路中添加入高频传递环节
在反馈回路中添加入高频传递函数,打断反馈回路中的直通模块,消除输入信号与输出信号的关联关系。如图3所示。
matlab/simulink中代数环的问题及解决措施
图3、在反馈回路中添加入高频传递环境来消除代数环的例子
5、重构部分模型
对形成代数环中的某些模块进行重构,以此来消除代数环。
目录
相关文章
【Simulink】示波器图形数据导入Matlab重新绘图的简明教程(论文)
【Simulink】示波器图形数据导入Matlab重新绘图的简明教程(论文)
1798 0
|
PHP 异构计算
Matlab Simulink支持system generator插件
Matlab Simulink支持system generator插件
239 0
|
10天前
|
机器学习/深度学习 算法 机器人
【PID】基于人工神经网络的PID控制器,用于更好的系统响应研究(Matlab&Simulink代码实现)
【PID】基于人工神经网络的PID控制器,用于更好的系统响应研究(Matlab&Simulink代码实现)
|
12天前
|
决策智能 Python
【高阶系统固定时间一致性追踪】固定时间一致性跟踪控制:高阶积分器多智能体系统研究(Matlab代码、Simulink仿真实现)
【高阶系统固定时间一致性追踪】固定时间一致性跟踪控制:高阶积分器多智能体系统研究(Matlab代码、Simulink仿真实现)
|
算法 计算机视觉
永磁同步电机的矢量控制PMSM仿真+simulink仿真建模(matlab仿真与图像处理)
永磁同步电机的矢量控制PMSM仿真+simulink仿真建模(matlab仿真与图像处理)
|
10天前
|
传感器 算法 数据格式
【UAV】改进的多旋翼无人机动态模拟的模块化仿真环境(Matlab、Simulink实现)
【UAV】改进的多旋翼无人机动态模拟的模块化仿真环境(Matlab、Simulink实现)
|
30天前
|
安全 C++ SoC
蓄电池能量管理系统的MATLAB/Simulink仿真
蓄电池能量管理系统的MATLAB/Simulink仿真
|
11月前
|
机器学习/深度学习 人工智能
MATLAB代数求解
【10月更文挑战第10天】MATLAB是一款强大的数学计算软件,支持数值计算和符号计算。本文介绍了MATLAB中符号计算与代数求解的基本使用方法,包括符号变量定义、表达式简化、求导和积分等操作,并通过代码实例进行说明。此外,还展示了符号计算在物理与工程中的应用,如动力学模型分析和电路分析。
|
数据可视化 算法
MATLAB Simulink 交交变流电路性能研究
MATLAB Simulink 交交变流电路性能研究
164 2
|
数据可视化 算法
MATLAB Simulink 单相桥式整流电路性能研究
MATLAB Simulink 单相桥式整流电路性能研究
159 2

热门文章

最新文章