MATLAB Simulink - For 循环
在本章中,让我们了解 for-iterator 块的工作原理。 首先,创建一个空白模型,如下图所示 −
![迭代器](/matlab_simulink/images/iterator.jpg)
在此模型中,我们将使用 for 迭代器,它将为我们提供 1..N 的总和。
您可以根据您的选择使用 n 的值。 该值将采用常量块并用值 5 更新它,如下所示 −
![值 5](/matlab_simulink/images/value_5.jpg)
让我们添加 for-iterator 块,如下所示 −
![For Iterator](/matlab_simulink/images/for_iterator.jpg)
选择 for Iterator 子系统模块并添加到您的模型中。 接下来,我们需要显示块,如下所示 −
![子系统块](/matlab_simulink/images/subsystem_block.jpg)
如下所示连接块 −
![连接块](/matlab_simulink/images/connect_blocks.jpg)
for 迭代器块是一个子系统。 选择块并单击 Enter。 它将带您到新模型区域,必须在其中定义 for 块。
![模型区域](/matlab_simulink/images/model_area.jpg)
右键for迭代器,选择block参数,如下图 −
![For Iteratorbp](/matlab_simulink/images/for_iteratorbp.jpg)
将启动时的状态更改为重置并将迭代限制源更改为外部。 单击"确定"更新更改。
现在,您将获得 for 循环的输入块,如下所示 −
![For N](/matlab_simulink/images/for_n.jpg)
我们需要一个求和块和一个延迟块,如下所示 −
![延迟块](/matlab_simulink/images/delayblock.jpg)
必须翻转延迟块,以便将其添加到输出中。 我们需要将输出返回给 sum 块,以便可以将其与当前迭代相加。
右键单击延迟块并将延迟长度从 2 更改为 1,如下所示。 单击"确定"更新更改。
![Bp 延迟](/matlab_simulink/images/bp_delay.jpg)
最终的 for 循环子系统块如下所示 −
![For 循环](/matlab_simulink/images/for_loop.jpg)
现在,在运行模拟之前,将停止时间更改为 1。我们这样做是因为我们希望模拟仅运行一次。
![停止时间](/matlab_simulink/images/stoptime.jpg)
点击"立即运行"即可在显示块中查看结果,如下所示
输入值为 5,因此 for 循环将从 1 到 5。因此,显示屏中会显示值 1+2+3+4+5 = 15。
![输入值](/matlab_simulink/images/inputvalue.jpg)