Could anyone help me to solve the issue.
1 view (last 30 days)
Show older comments
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
Accepted Answer
Bhaskar R
on 8 May 2019
Edited: Bhaskar R
on 8 May 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 Comments
Bhaskar R
on 9 May 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
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!