Delete and merge rows and columns based on values of other matrix

1 Ansicht (letzte 30 Tage)
suppose consider a matrix of A = [1 2 3 4 ; 5 6 7 8 ; 9 1 2 3 ; 1 2 3 4] consider matrix B = [ 1 0 2 4 ]
so in matrix B value of 2 unit is 0 so i need to delete second row and second column in matrix A
final A1 matrix = [1 3 4 ; 9 2 3 ; 1 3 4]

Akzeptierte Antwort

Sindar
Sindar am 21 Feb. 2020
If I understand correctly:
  • You have one NxN matrix A
  • And a second 1xN vector B
  • When an element of B is zero, you delete rows and columns from A with the same index
A = [1 2 3 4 ; 5 6 7 8 ; 9 1 2 3 ; 1 2 3 4];
B = [ 1 0 2 4 ];
% find where B is nonzero
idx = find(B~=0);
% copy corresponding rows and columns of A to A1
A1=A(idx,idx);
  7 Kommentare
vimal r
vimal r am 24 Feb. 2020
so how to solve without looping it by individually...??
Guillaume
Guillaume am 24 Feb. 2020
I'm not sure which of your 3 questions the above refers to. You would be better off starting a new question for each topic.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by