simulink中使用memory模块实现变量的累加和

在离散系统中,我们经常会遇到需要存储上一时刻的变量。比如y(k-1),然后用在当前时刻的运算里,这个时候我们就需要一个模块能够存储上一时刻的y(k-1),这个模块就是memory模块。一个很典型的例子就是用memory模块实现一个离散变量从初始时刻到现在时刻的累加和:

在这里插入图片描述

说明:这个模型的memory模块在第一时刻存储的为0,在第二时刻存储的是y(1),在第三时刻存储的是y(2)+y(1),。。。。。。这样结合求和模块就实现了累加和功能。

补充,我们可以用这个模块模拟simulink中的离散积分器模块:

在这里插入图片描述
上面是原始的离散积分器,下面是用memory模块实现的离散积分器,二者的效果一致。

  • 24
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
SimulinkMemory模块是一个用于存储和检索数据的关键模块。它与MATLAB工作空间变量类似,可以使得模型的不同部分之间传递和共享数据。 Memory模块有三种基本类型:单端口、双端口和存储块。 单端口Memory模块只有一个输入端口和一个输出端口。当接收到输入信号时,该模块会将输入信号的值储存在一个内部缓冲区,并将该值通过输出端口传递。当下一个输入信号到达时,该模块将更新缓冲区的值,并将新的值传递给输出端口。 双端口Memory模块有两个输入端口和一个输出端口。其一个输入端口用于接收输入信号,另一个输入端口用于接收控制信号。当控制信号为高时,模块将输入信号的值储存在内部缓冲区,并将该值通过输出端口传递。当控制信号为低时,该模块将缓冲区的值保持不变,并继续将该值传递给输出端口。 存储块Memory模块允许用户创建一个由多个内存单元组成的存储块。每个内存单元都有一个地址,可以用于存储和检索数据。存储块Memory模块通常与其他数学运算模块(如Add或Multiply)一起使用,以实现复杂的计算。 使用Memory模块可以方便地在Simulink模型存储和共享数据,提高模型的可重用性和可维护性。通过使用Memory模块,我们可以在不同的模块之间传递数据,实现模型的各个部分之间的数据交换和通信。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值