how i can put the (-1) in binary matrix with condition ?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Firas Al-Kharabsheh
am 9 Apr. 2016
Beantwortet: Kuifeng
am 9 Apr. 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 Kommentar
Azzi Abdelmalek
am 9 Apr. 2016
Bearbeitet: Azzi Abdelmalek
am 9 Apr. 2016
The last value of A* is not correct
Akzeptierte Antwort
Azzi Abdelmalek
am 9 Apr. 2016
Bearbeitet: Azzi Abdelmalek
am 9 Apr. 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 Kommentare
Weitere Antworten (1)
Kuifeng
am 9 Apr. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Resizing and Reshaping Matrices 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!