Array variable as parameter value in simulink

Hi,
I have an 1-D array (ex: A) with a size exactly matching that of the total simulation steps. This array can be either stored in model or base workspace.
I need to set a block parameter to A(Index) with its index changing according to the simulation time.
How can I do this?
Thank you for your help.

 采纳的回答

Use a Selector block. Choose the 'Index option' as 'Index vector - port'. Then connect A to the U port and feed the Indx1 port with an integer that you develop from the the simulation time.

3 个评论

Thanks..
My problem is little bit more complicated. I have a sine generator. And I need to assign A(Index) as the "frequency" parameter, so the value changes as the simulation runs dynamically, since Index also changes.
If implemented properly, the output of the selector block is A(index). Multiply it with the output of a Clock and then input the product into a Trigonometric Function block.
Another way to get A(index) is to use the 1-D Lookup Table block. Specify 'Flat' as the interpolation method. This approach would probably be easier than using the Selector block.
Thank you.. I used set_param to update A(Index) in my block.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Physical Units 的更多信息

产品

版本

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by