Assign vectors from MATLAB workspace structure to Simulink Model inports

3 次查看(过去 30 天)
I need help with running a Simulink model with the data from MATLAB workspace contained in structures. Below is a very simplified use-case of what I would like to do
Use Case :
I have a struture in MATLAB workspace called "data", and it has two fields x, and y which are vectors. I have a simulink model with two inports named x and y. I would like to dynamically assign to data from the structure "data" to the Simulink inports and run the model
The above use case is a very simplified scenario. The model that I intend to use can have 100 inports, and thus I do not want to use "From Workspace" block, as it would be impractical for me to add 100s of them
How can I handle such a situation in Simulink. I am a little more than a beginner in MATLAB and Simulink. So, a detailed answer would help me a lot

采纳的回答

TAB
TAB 2018-5-28
编辑:TAB 2018-5-28
You need to arrange your data in time series form.
One of the format is like below:
dataIn.time = [0:10]'; % Depend upon your sample time and stop time
dataIn.signals(1).values = data.x; % x values at each step
dataIn.signals(1).label = 'x'; %Inport name
dataIn.signals(2).values = 'data.y'; % y values at each step
dataIn.signals(2).label = 'y'; %Inport name
Now enter dataIn in Configuration Parameters > Data Import/Export > Load from workspace > Input
  3 个评论
TAB
TAB 2018-5-29
dataIn.signals(2).values = 'data.y';
--> You have assigned string here. Remove the single quote.
Masoom Kumar
Masoom Kumar 2018-5-29
Thank you very much for the help. It solved the problem
Just to add, on the page that you had suggested, I found another method using Loading Data Arrays to Root-Level Inputs, which was also very useful. Just bunch all the signals in a matrix :)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Sources 的更多信息

产品


版本

R2012b

Community Treasure Hunt

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

Start Hunting!

Translated by