求助:matlab/simulink中memory模块的详细使用方法!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助:matlab/simulink中memory模块的详细使用方法!相关的知识,希望对你有一定的参考价值。

本人看啦memory的help和几个实例还是看不懂,求助高手把它和常数或时钟变量连载一起做加减运算的过程详解一下,不胜感激!越详细越好! 先谢过啦!
解释下面图片就行,上面为255,下面为51,memory初值为0.

memory 就是把输入的值延时一个时间单位,到下一个时间值输出。比如下面黄色的正弦波,经过memory延时后,图形就滞后了。该框图是用于离散系统的,可以看作是0阶保持器。 

这要看仿真设置,是固定步长还是其他,这样可以知道在仿真10秒内,循环了多少次。

但是对时间和常数用memory框图是毫无意义的。

追问

非常感谢,请哥们给解释下,为什么上面那个值为255,下面那个为51,解释完估计就差不多理解啦!
注:memory初值为0.

参考技术A 一、代数环的问题
在数字计算中,输入信号决定输出信号,同时输出信号也决定输入信号,由于数字计算的时序性,导致没有输出信号无法计算输入信号,没有输入信号又反过来无法计算输出信号,形成一个死锁(deadlock)或死循环,这就是代数环。如下图1所示,就是一个简单的代数环的例子。
二、代数环产生的条件
简单地说,代数环其实就是一个输入信号包含输出信号,同时输出信号也包含输入信号的特殊反馈回路。在simulink中,这是由于直通模块(无延时的模块)的原因造成的,simulink中大部分的模块都是直通模块,因此很容易形成代数环。在整个回路中,只包含直通模块就会形成代数环,反馈回路有延时模块就会消除代数环。
三、代数环的解决措施
1、用工具栏中的“simulink”中的“diagnostics”对代数环进行消除
将simulink中diagnostics的对代数环的处理信息进行选择,将对代数环的处理信息选择为“none”,即忽略代数环的信息。
2、在反馈回路中添加延时模块进行消除
由于代数环的产生是由于整个模型中所有模块均为直通模块,因此只需在反馈回路中添加延时模块即可消除代数环。延时模块有delay模块、memory模块,如图2所示,用memory来消除代数环。

3、用变换法消除代数环
对于简单的代数环问题,可以通过人为地采用数字变换法来求解消除代数环,但这只针对简单的代数环有限,对于复杂的代数环基本不可能实现。
4、在反馈回路中添加入高频传递环节
在反馈回路中添加入高频传递函数,打断反馈回路中的直通模块,消除输入信号与输出信号的关联关系。如图3所示。
参考技术B 因为你的框图除了memory,还包括加法的函数(sum),就变成一个累加器了. 参考技术C 原因在于上面你用的是clock模块,这个是从1逐渐加到10的,下面是constant模块,每次只是加了1.跟你memory没太大关系

以上是关于求助:matlab/simulink中memory模块的详细使用方法!的主要内容,如果未能解决你的问题,请参考以下文章

如何利用MATLAB/SIMULINK搭建简单的仿真模型

MATLAB /simulink中, sin导数后为啥cos(0)不等于1? 结果如图所示:

MATLAB/Simulink仿真时出现下边错误 这是哪里出错了啊 不太懂 求大神指点一二 不胜感激

求助matlab高手帮忙

Simulink、matlab 函数

MATLAB/simulink中,将示波器的数据保存数据在workspace里面,怎样用plot的方法打印图形。