Struct contents reference from a non-struct array object.

10 views (last 30 days)
I need to make a function that showes me the state space model for a circuit and i need to overlap the simulink graph to the workspace one. I used this:
t=0:0.1:15;
u=(t>=0);
c=1;
L=1;
R=1;
x0=[0.59 1.71];
A=[0 1/c ; -1/L -R/L];
B=[0 ; 1/L];
C=[-1 -R];
D=[1];
sistem=ss(A,B,C,D);
[y,t,x]=lsim(sistem,u,t,x0);
figure;
plot(t,y); hold;
plot(ScopeData.time,ScopeData.signals.values,'x');
but for the last plot it said 'Struct contents reference from a non-struct array object.'
What's wrong?
  1 Comment
Stephen23
Stephen23 on 1 Apr 2018
Eugen Gamentzy' "Answer" moved here:
At first it worked, but when I came back to the program it said that error.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 31 Mar 2018
ScopeData is only created by the Simulink Scope Block https://www.mathworks.com/help/sldrt/ug/set-scope-parameters-for-logging-to-workspace.html or equivalent for Simulink Real Time. Apart from that ScopeData does not exist.
  2 Comments
Stephen23
Stephen23 on 1 Apr 2018
Eugen Gamentzy's "Answer" moved here:
I've made the Simulink ciruit as well, and logged the data from the scope as an array.

Sign in to comment.

More Answers (1)

Eugen Gamentzy
Eugen Gamentzy on 1 Apr 2018
I've made the Simulink ciruit as well, and logged the data from the scope as an array.
  1 Comment
Walter Roberson
Walter Roberson on 1 Apr 2018
If ScopeData were initialized as the empty array and later expected to be overwritten with the struct but was not overwritten then you could get that error. You should look at size() and class() of the variable.

Sign in to comment.

Categories

Find more on Schedule Model Components in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!