Looping a simulink model for multiple time-input

2 次查看(过去 30 天)
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

采纳的回答

Fangjun Jiang
Fangjun Jiang 2020-9-2
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 个评论
Fangjun Jiang
Fangjun Jiang 2020-9-2
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 2020-9-2
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

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by