Could anyone help me to solve the issue.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
jaah navi
am 8 Mai 2019
Kommentiert: Bhaskar R
am 9 Mai 2019
code:The below code executes and gives the result.
But i want to view swarm_pos for all particles in workspace.
When I run the code it displays only with respect to the second time of for loop result in workspace.
could anyone please help me on this.
particles=2;
dimensions=2;
PPP=[1,2;
3,4;
5,6;
7,8];
centroids=zeros(1,particles);
for particle=1:particles
P=numel(particle);
users=size(PPP,1);
centroids(particle)= randi(users,1,P)
fprintf('\nCentroids=%d\n',centroids(particle))
swarm_pos =rand(centroids(particle),dimensions,P)
end
Akzeptierte Antwort
Bhaskar R
am 8 Mai 2019
Bearbeitet: Bhaskar R
am 8 Mai 2019
Since the matrix size assigning to the variable "swarm_pos" is deifferent for each iteration, initialize the matrix as cell array class matrix, then you can get the variable as you required in the workspace
Modify your code as below
particles=2;
dimensions=2;
PPP=[1,2;
3,4;
5,6;
7,8];
centroids=zeros(1,particles);
% Initialize your variable as cell array type as your required dimention either (1xparticles) or (particlesx1)
swarm_pos = cell(1,particles);
for particle=1:particles
P=numel(particle);
users=size(PPP,1);
centroids(particle)= randi(users,1,P)
fprintf('\nCentroids=%d\n',centroids(particle))
swarm_pos{particle} =rand(centroids(particle),dimensions,P) % stores array values for each iteration
end
Access you data as
swarm_pos{1}, swarm_pos{2}
2 Kommentare
Bhaskar R
am 9 Mai 2019
As I don't know your requiremet i couldn't get how are you doing norm at error occured.
Any way I can suggest you to access values from the the variable "swarm_pos" you can make change as
distance(user,1)=norm(swarm_pos{particle}(centroid,:,P)-PPP(user,:));
Even this modification is not enough for you, you get error in the statement
distance=zeros(users(particle),1);
because users is the scaler variable
I need these point to rectify error
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!