MATLAB Simulink - For 循环


在本章中,让我们了解 for-iterator 块的工作原理。首先,创建一个空白模型,如下所示 -

迭代器

在此模型中,我们将使用 for 迭代器来计算 1..N 的总和。

您可以根据您的选择使用 n 的值。该值将采用常量块并用值 5 更新它,如下所示 -

值5

让我们添加 for-iterator 块,如下所示 -

对于迭代器

选择 for Iterator 子系统模块并添加到您的模型中。接下来,我们需要显示块,如下所示 -

子系统块

连接块如下所示 -

连接块

for 迭代器块是一个子系统。选择块并单击 Enter。它将带您到新模型区域,必须在其中定义 for 块。

模型区

右键单击 for 迭代器并选择块参数,如下所示 -

对于 Iteratorbp

将启动时的状态更改为重置并将迭代限制源更改为外部。单击“确定”更新更改。

现在,您将获得 for 循环的输入块,如下所示 -

对于N

我们需要一个求和块和一个延迟块,如下所示 -

延迟块

必须翻转延迟块,以便将其添加到输出中。我们需要将输出返回给 sum 块,以便可以将其与当前迭代相加。

右键单击延迟块并将延迟长度从 2 更改为 1,如下所示。单击“确定”更新更改。

血压延迟

最终的 for 循环子系统块如下所示 -

For循环

现在,在运行模拟之前,将停止时间更改为 1。我们这样做是因为我们希望模拟仅运行一次。

停止时间

单击“立即运行”即可在显示块中查看结果,如下所示

输入值为 5,因此 for 循环将从 1 到 5。因此,显示屏中会显示值 1+2+3+4+5 = 15。

输入值