Simulink:FOR迭代器和选择器块

问题描述 投票:0回答:1

我正在尝试使用2D向量[M x N]来具有简单的功能。我的意图是迭代行并读取列。因此,我使用一个FOR迭代器子系统,将FOR迭代器设置为0-> M-1,然后对读取的数据执行一些操作。

为了简单起见,在下面的示例中,我仅使用大小为1X10的向量:[100 200 300 400 500 500 600 700 800 900 1000]

example

但是,for迭代器不显示任何值更改(迭代器和read列均显示)。我放了作用域,我只看到向量的最后一个值,即900。

inside the for iterator subsystem

子系统输出的范围>

Scope on the output of for subsytem

用于迭代器块的作用域>

Scope on for iterator block

FOR迭代器的块参数:

FOR ITERATOR parameters

SELECTOR块的参数:

SELECTOR block parameters采样时间设置为-1。

预期输出:我的期望是我为每个索引读取一列,因此子系统输出的范围应该线性变化,即100-> 200-> 300-> 400 .......->1000。我在这里做错了什么?

谢谢!

matlab for-loop signal-processing matlab-figure simulink
1个回答
0
投票

您看到的是intended behavior,您总是在块执行结束时看到状态。您的主要选择是使用分配块将其设置为create a vector。这样,向量在每次迭代中都保留一个值。

© www.soinside.com 2019 - 2024. All rights reserved.