Delete/remove entire rows and columns containing an element that satisfies a condition (e.g. when the element is an imaginary number)
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Saeid
am 16 Jul. 2021
Beantwortet: Walter Roberson
am 16 Jul. 2021
In an array containing elements that are imaginary numbers, how can I remove the entire row(s) and column(s) containing any of these numbers?
1 Kommentar
Michael
am 16 Jul. 2021
Bearbeitet: Walter Roberson
am 16 Jul. 2021
You should be able to loop through the columns or rows of the array and check them with isreal:
Akzeptierte Antwort
Jonas
am 16 Jul. 2021
Bearbeitet: Jonas
am 16 Jul. 2021
where=yourMatrix==yourCondition;
yourMatrix(any(where,2),:)=[];
yourMatrix(:,any(where,1))=[];
or
[row,col]=find(where);
yourMatrix(row,:)=[];
yourMatrix(:,col)=[];
if your condition being a complex number you can use where=~isreal(yourMatrix)
0 Kommentare
Weitere Antworten (1)
Walter Roberson
am 16 Jul. 2021
valgood = imag(YourMatrix)==0;
rowmask = all(valgood,2);
colmask = all(valgood,1);
newMatrix = YourMatrix(rowmask, colmask);
0 Kommentare
Siehe auch
Kategorien
Mehr zu Operators and Elementary Operations finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!