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

1 vue (au cours des 30 derniers jours)
vimal r
vimal r le 21 Fév 2020
Commenté : Guillaume le 24 Fév 2020
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]

Réponse acceptée

Sindar
Sindar le 21 Fév 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 commentaires
vimal r
vimal r le 24 Fév 2020
so how to solve without looping it by individually...??
Guillaume
Guillaume le 24 Fév 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by