help how can I use the PSO algorithme for the case of a matrix ?!
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello community,
I want to apply the PSO algirithme for a matrix, if someone have the matlab code or any idea or recommendation please
Thanks
0 Kommentare
Antworten (1)
Stephan
am 9 Apr. 2019
Hi,
you can use the reshape function and take advantage of the linear indexing in Matlab. This will allow to work with matrices too.
Best regards
Stephan
4 Kommentare
Stephan
am 10 Apr. 2019
Bearbeitet: Stephan
am 10 Apr. 2019
Perhaps this helps:
>> A = [1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> A(3)
ans =
7
%-------------------------------------------------------------
>> B = reshape(A,1,[])
B =
1 4 7 2 5 8 3 6 9
>> B(3)
ans =
7
%-------------------------------------------------------------
>> C = reshape(B,3,3)
C =
1 2 3
4 5 6
7 8 9
>> C(3)
ans =
7
--> You can give an array of size 1xn to the objective function (this is what PSO will do) and then reshape it to size ixj to perform matrix calculations inside your objective function. This works because the linear indexing and is done easily using reshape. As long as your objective function returns a scalar value as result, this will work properly.
Siehe auch
Kategorien
Mehr zu Particle Swarm 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!