Array variable as parameter value in simulink

11 次查看(过去 30 天)
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.

采纳的回答

Paul
Paul 2022-1-16
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 个评论
Paul
Paul 2022-1-16
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.
Sridhar Balasubramanian
Thank you.. I used set_param to update A(Index) in my block.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile 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