Create superclass objects in a for loop
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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.
0 Commenti
Risposta accettata
Più risposte (2)
Umit
il 17 Feb 2012
1 Commento
Walter Roberson
il 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.
Daniel Shub
il 17 Feb 2012
Maybe I am missing something here, but doesn't it make more sense for the AlliedStates constructor to handle an array input.
0 Commenti
Vedere anche
Categorie
Scopri di più su Linear Algebra in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!