Looping a simulink model for multiple time-input

2 views (last 30 days)
Hello, I am trying to run a simple simulink model but i would like to automate the input from a m.file. It should run 201 times since there are 201 columns of time-input and report the output into a matrix. Is there any way to do this? thank you
load F.mat % attached
p=1:201 % number of columns
Force=zeros(512,201)
for n=1:p
Force=F(:,p)
sim('test') % below
end

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 2 Sep 2020
load F.mat % attached
% a matrix of F is loaded, it is a 512x201 double array
p=size(F,2) % number of columns
for n=1:2 % for testing first, change it to be "for n=1:p" later
Force=F(:,n)
sim('test') % below
end
  3 Comments
Fangjun Jiang
Fangjun Jiang on 2 Sep 2020
Not like that. p would be 202 because SimT has 202 columns.
load F.mat % % a matrix of F is loaded, it is a 512x201 double array
p=size(F,2) % number of columns
Tin=linspace(0,30,p)'; % time steps 30 seconds
Results=cell(1,p);
for n=1:3 % for testing first, change it to be "for n=1:p" later
Force=[Tin F(:,n)]
Results{n}=sim('test',Tin) % below
end
Komal Rajana
Komal Rajana on 2 Sep 2020
Thank you
I got the code to work. This is final code.
load F.mat % % a matrix of F is loaded, it is a 512x100 double array
p=size(F,2) % number of columns
Tin=linspace(0,30,512)'; % time steps 30 seconds
Results=cell(1,p);
for n=1:p % for testing first, change it to be "for n=1:p" later
Force=[Tin F(:,n)]
Results{n}=sim('test',Tin) % below
end

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!