getting data from workspace to Simulink
조회 수: 107 (최근 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!