how can i import data from mat file to simulink?

6 views (last 30 days)
Hello. I have a simple simulation: a matlab function block, clock(t as an input),scope and a from file block. acos [variable name] is saved in a.mat and in fcn y=acos=cos(t). how can I import acos variable to fcn block? should I define from file block as an input of fcn or..? the photo of simulation is attached.

Answers (1)

Stephan
Stephan on 4 Nov 2018
Edited: Stephan on 4 Nov 2018
Hi,
the content in your .mat-file has to be saved as a timeseries object. See this example how to create this.
Your function has to take as many input arguments as signals you want to connect in your model:
.
function y = fcn(u,t)
y = 3*cos(u*t);
end
If you want to pass time and data from .mat-file, change your funtion the way shown in the above example. If your function is defined in this way you can connect both signals in Simulink:
.
But be careful - See the result of this:
.
This is the result, due to the input is a timeseries - the time information is in the .mat-file. I attached a .matfile as example which contains a timeseries object for t=0...10 in 100 steps and the data is from -2*pi...2*pi in 100 steps. See what happens if we diconnect t and change the function to:
function y = fcn(u)
y = 3*cos(u);
end
.
The model now:
.
So think about if you really need the time block for your model. Test the attached model.
Best regards
Stephan
  1 Comment
Najmeh Eskandari
Najmeh Eskandari on 5 Nov 2018
Edited: Najmeh Eskandari on 5 Nov 2018
Thanks. I used this simple example to learn more about from file block. in the main simulation I have ur10_dynamic equation.m file that C,G,D matrices are stored as ur10.mat file and I want to use them in impedance2.slx simulation in impedance controller block. (C,G and D are functions of Theta1..6). how can I load them in different lines of program in the impedance controller block and calculate them for Theta1...6?(Theta1..6 are functions of t and we should use clock).

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!