how i can put the (-1) in binary matrix with condition ?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Firas Al-Kharabsheh
le 9 Avr 2016
Réponse apportée : Kuifeng
le 9 Avr 2016
how i can put (-1) after and before any group of ones in matrix like this
before code A = [ 1 1 0 0 0 1 0 1 1
0 1 1 0 0 0 0 1 1
0 0 1 1 0 0 1 0 0 ]
after code A* = [ 1 1 -1 0 -1 1 -1 1 1
-1 1 1 -1 0 0 -1 1 1
0 -1 1 1 -1 -1 1 -1 -1 ]
1 commentaire
Azzi Abdelmalek
le 9 Avr 2016
Modifié(e) : Azzi Abdelmalek
le 9 Avr 2016
The last value of A* is not correct
Réponse acceptée
Azzi Abdelmalek
le 9 Avr 2016
Modifié(e) : Azzi Abdelmalek
le 9 Avr 2016
A = [ 1 1 0 0 0 1 0 1 1
0 1 1 0 0 0 0 1 1
0 0 1 1 0 0 1 0 0 ]
for k=1:size(A,1);
id_before=strfind(A(k,:),[0 1])
id_after=strfind(A(k,:),[1 0])+1
A(k,[id_before id_after])=-1
end
0 commentaires
Plus de réponses (1)
Kuifeng
le 9 Avr 2016
% is the last number in your A* equal to 0 instead?
%the following code may work
[rows cols] = size(A);
A_diff = A(:,1:end-1)-A(:, 2:end);
A(find(A_diff == -1)) = -1;
A(find(A_diff == 1)+rows) = -1;
0 commentaires
Voir également
Catégories
En savoir plus sur Operators and Elementary Operations 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!