Create superclass objects in a for loop

classdef SimulationAlgorithm < AgentAlgorithm
%Paremeters that can only set by constructor
properties(GetAccess = 'public', SetAccess = 'immutable')
NbofAlliedAgents;
NbofEnemyAgents;
TotalSimTime;
end
methods
%Constructor for Simulation Algorithm
function Sim = SimulationAlgorithm(N, M, T)
Sim.NbofAlliedAgents = N;
Sim.NbofEnemyAgents = M;
Sim.TotalSimTime = T;
%Creates Agents via AlliedAgent SuperClass
AlliedStates = Sim.CreateRandomStates(Sim, ...
Sim.NbofAlliedAgents, 'Allied');
EnemyStates = Sim.CreateRandomStates(Sim,...
Sim.NbofEnemyAgents, 'Enemy');
for i=1:Sim.NbofAlliedAgents
AlliedAgents(i) = AlliedAgents(i)@AgentAlgorithm(AlliedStates(i,:));
end
end
end
%These methods can be invoked w/o an object initalized, Obj needs to
%be send as parameter as a result
methods (Static, Access = 'private')
%Creates [x y z Vx Vy Vz] vector for all NbofAgents. Distinguishes
%Allied vs Enemy agents via Type parameter.
function [Vector] = CreateRandomStates(Obj, NbofAgents, Type)
%SIMPLIFIED VERSION NOT REAL ONE
Vector = randi([1 100], [NbofAgents 6]);
end
end
end
How can I call superclass constructor in a for loop. The nb. of the objects of AgentAlgorithm varies. In current state, it always says superclass constructor should be top state.

 Akzeptierte Antwort

Umit
Umit am 17 Feb. 2012

0 Stimmen

I restarted matlab, everything works fine, :D

Weitere Antworten (2)

Umit
Umit am 17 Feb. 2012

0 Stimmen

Noone knows how to initiate superclass in a for loop?

1 Kommentar

Walter Roberson
Walter Roberson am 17 Feb. 2012
I am not no-one, and I don't know anything about the topic. Negating both sides we arrive at the logical conclusion that no-one knows anything about the topic.

Melden Sie sich an, um zu kommentieren.

Daniel Shub
Daniel Shub am 17 Feb. 2012

0 Stimmen

Maybe I am missing something here, but doesn't it make more sense for the AlliedStates constructor to handle an array input.

Gefragt:

am 16 Feb. 2012

Bearbeitet:

Jan
am 15 Okt. 2013

Community Treasure Hunt

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

Start Hunting!

Translated by