addition of two matrix's with constraints
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
reshdev
le 13 Sep 2014
Commenté : Andrei Bobrov
le 13 Sep 2014
Hello,
i have following code which i want to modify ....
function new_fitness
W =[0 0 0 3;0 0 0 0;0 0 0 0; 3 0 0 0 ];
cost=[1 1 1 1;1 1 1 1;1 1 1 1;1 1 1 1];
FC= [10 10 10 10;10 10 10 10;10 10 10 10;10 10 10 10];
Fn = cost.*W+(W>0).*FC
disp(Fn);
end
my output is---
Fn =
0 0 0 13
0 0 0 0
0 0 0 0
13 0 0 0
but i want to modify it such a way that particular FC element is added only once if both W(i,j) and W(j,i)>0. then my output will be like---
Fn =
0 0 0 13
0 0 0 0
0 0 0 0
3 0 0 0
Thank You
0 commentaires
Réponse acceptée
Andrei Bobrov
le 13 Sep 2014
out = W.*cost;
[ii,jj] = find(W > 0);
ij = sortrows([ii,jj]);
jj = sub2ind(size(W),ij(1,1),ij(1,2));
out(jj) = out(jj) + FC(jj);
1 commentaire
Andrei Bobrov
le 13 Sep 2014
Wt = W.';
t1 = W > 0 & Wt == 0;
t2 = W > 0 & Wt > 0;
Fn(t1) = Fn(t1) + FC(t1);
Fn(t2) = Fn(t2) + FC(t2)/2;
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Genetic Algorithm dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!