Delete/remove entire rows and columns containing an element that satisfies a condition (e.g. when the element is an imaginary number)
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Saeid
el 16 de Jul. de 2021
Respondida: Walter Roberson
el 16 de Jul. de 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 comentario
Michael
el 16 de Jul. de 2021
Editada: Walter Roberson
el 16 de Jul. de 2021
You should be able to loop through the columns or rows of the array and check them with isreal:
Respuesta aceptada
Jonas
el 16 de Jul. de 2021
Editada: Jonas
el 16 de Jul. de 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 comentarios
Más respuestas (1)
Walter Roberson
el 16 de Jul. de 2021
valgood = imag(YourMatrix)==0;
rowmask = all(valgood,2);
colmask = all(valgood,1);
newMatrix = YourMatrix(rowmask, colmask);
0 comentarios
Ver también
Categorías
Más información sobre Operators and Elementary Operations en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!