Clear Filters
Clear Filters

getting data from workspace to Simulink

107 views (last 30 days)
Hello guys,
I have a simulink file that is basically giving as output the control signal of many switches "1" and "0", I took the outputs of the clock, and all the data to workspace using "simout" as array, and all the arrays (time, command of all switches) have the same size (320).
Now I am trying to use in a different simulink model these outputs from workspace in order to simulate my model, I am getting the following error for all the "simin" from workspace :
"Invalid matrix variable specified as workspace input in 'untitled4/From Workspace'. The matrix data must be a real, double, have two dimensions, and at least two columns. The first column must contain time values and the remaining columns the data values. Matrix values cannot be Inf or NaN."
Can You please suggest a solution for my problem
thanks in adavnce
  2 Comments
Monika Jaskolka
Monika Jaskolka on 1 Jun 2021
Can you provide the simout data that you are using as input to the From Workspace block?
fadi awar
fadi awar on 1 Jun 2021
The data are "0" and "1" of type double.
T= 0 0.0100 0.0200 0.0300 0.0400 0.0500 0.0600 0.0700 0.0800 0.0900 0.1000 0.1000 0.1000 0.1100 0.1200 0.1300 0.1400 0.1500 (it continues to reach value 3 as for 3 seconds)
and one of the switching vectors are:
Sw1= 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
those are the values I get in the workspace

Sign in to comment.

Accepted Answer

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 1 Jun 2021
Hi,
In this case, you'd need to generate two column data from your imported data ([To Woskspace] block) into matlab workspace, e.g.:
DATA = out.simout; % From your alread imported data from the 1st Simulink model
Now, in your [Simin], specify the input variable name: DATA
Run your new Simulink model.
Good luck.
  6 Comments
Taimoor Khan Mehmand
Taimoor Khan Mehmand on 5 Jan 2023
My 'avg_rocof' data is as shown in the figure that I have attached. It's ' -0.2762 ' 1x1 double . And I want to use this 'avg_rocof' value using "From Workspace block " in my one of the subsystem of my Simulink model as an input. But I am getting this error """ Invalid matrix variable specified as workspace input in 'IEEE_14_Bus_System_SM_FFR/From Workspace'. The matrix data must be a real, double, have two dimensions, and at least two columns. The first column must contain time values and the remaining columns the data values. Matrix values cannot be Inf or NaN.
Moreover the script I wrote to calculate "avg_rocof" is ,
f = Fs.signals.values; % frequency signal
Dt = 20e-6; % sampling step size
R = 0; % rocof initialisation
for k = 196002:1:316002
R = R + (f(k)- f(k-1))/Dt;
end
avg_rocof = R / (316002-196002);
display(avg_rocof);
Sulaymon Eshkabilov
Sulaymon Eshkabilov on 15 Jan 2023
In this case, you can use a Constant block and enter the variable name avg_rocof into Constant value: window of Constant block that can be opened by double clikcing on it.

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!