Error converting from Simulink.SimulationInput to double

13 次查看(过去 30 天)
%% Speed Array
Speed = zeros(1,5001);
len = numel(Speed);
q=0;
for s = 1:len
Speed(1,s) = q;
q = q + (1/(len-1));
end
Trq_inst = zeros(1,401);
len_trq = numel(Trq_inst);
Trq_ref =1;
for t = 1:(len_trq)
% simIn = zeros(1,401);
% simOutputs = zeros(1,401);
Trq_inst(1,t)= Trq_ref;
for i = 1:len
simIn(i) = Simulink.SimulationInput('fl_name');
simIn(i) = setBlockParameter(simIn(i),'fl_name/Speed_sweep','Spd',Speed(i));
end
simOutputs = sim(simIn);
for i = 1: len
Res1 = simOutputs(1,i).sldemo_absbrake_output{1}.Values.Res1.Data;
Res2= simOutputs(1,i).sldemo_absbrake_output{1}.Values.Res2.Data;
Struc = struct("Res1",Res1,"Res2",Res2);
fname = sprintf('Trq%d_Spd%d.mat', Trq_ins(1,t)*400,5000*Speed(1,i));
save(fname,"Struc")
%save("trq_400.mat","Struc")
end
I am getting an error for the Simulink.SimulationInput converting to double.

采纳的回答

Laxmi akshaya thela
This resolves the issue
Thanks

更多回答(1 个)

Walter Roberson
Walter Roberson 2024-8-18
Before
for t = 1:(len_trq)
insert
clear simIn
You have an existing simIn that is double precision.

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by