getting data from workspace to Simulink
52 次查看(过去 30 天)
显示 更早的评论
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 个评论
Monika Jaskolka
2021-6-1
Can you provide the simout data that you are using as input to the From Workspace block?
采纳的回答
Sulaymon Eshkabilov
2021-6-1
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 个评论
Taimoor Khan Mehmand
2023-1-5
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
2023-1-15
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sources 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!