MATLAB: How to rerun a Simulink model

simulink

Hello!
I have a model, of which the input is an array, values differ from time 1 to 10, and I expect the output, which generated by multiplying input values and operators, is also an array from time 1 to 10.
I tried and according to the Simulink algorithm, input value at time T can only be multiplied by operator values at time T, but what I expect is, each input will be individually multiplied throughout the whole simulation time.
%This is what I expected.
Input = 1:10;
Time = 1:10;
for i = 1:10
for o = 1:10
Output(i) = Time(o) * Input(i)
end
end
For instance, I input a number at time 1, it will be multiplied by a series of operators from time 1 to time 10, and then there is an output 1 (time 1:10) for input 1;
then I have an input 2, it will also generate an output 2 (time 1:10) for input 2, and as well for input 3, 4, …, 10.
I think it is difficult under the algorithm of Simulink, so I wonder if it is possible to achieve it by rerun the entire model for 10 times, and each time before it starts, to have a messagebox or something to let me input the values?
I read about callbacks but seems there is no parameters I can use to do it?

Best Answer

In general, most Simulink blocks support vector and array input. For example, the multiply (Product) block supports element-wise or matrix multiply. So I think you can just layout your algorithm using blocks and let the array data pass through. See this
https://www.mathworks.com/help/releases/R2019b/simulink/slref/product.html
Related Question