Calling m file from class?

3 views (last 30 days)
Danijel Domazet
Danijel Domazet on 13 May 2020
Commented: Walter Roberson on 13 May 2020
I have a class A, and a file myinit.m.
myinit.m contains many variable initializations which are needed by the class A.
This is how I am using it:
myinit;
a1 = A();
a1.Run();
I would like to avoid the first line where myinit is called. I tried putting myinit into class constructor, however the variables are not permanent, and they go out of scope once constructor is exited, so the A.Run() does not have this variables.
Is it possible to call myinit from within the class?
Note that A.Run() calls a Simulink simulation sim('model') and this model needs all the myinit variables.
  1 Comment
Walter Roberson
Walter Roberson on 13 May 2020
If the variables were permanent in the class constructor, then at the time sim() was run, they would not be directly accessible, as it is necessary to qualify by the object in order to get at the values. And if you are going to have an object reference then you might as well toss all of the values into a struct and reference the struct within the object inside the simulink model,
obj.simvars.Frequency
for example. You would have myinit return the struct and then store the struct inside the object.

Sign in to comment.

Answers (0)

Tags

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!