Retain rows and columns depending on the values of an array

2 vues (au cours des 30 derniers jours)
Allan Paolo
Allan Paolo le 1 Jan 2024
Commenté : Voss le 1 Jan 2024
Hi,
For example I have the square matrix:
A = [3 5 7 1 2; 2 4 3 1 5; 2 6 1 6 6; 4 7 5 1 1; 2 0 1 5 2]
Assuming I have the vector B, B = [1, 4, 5]
How do I get this output: A = [ 3 7 2; 2 1 6; 2 1 2]
Essentially it means A(2,:) = [], A(3,:) = [], A(:,2) = [], and A(:,3) = []. I was wondering if there is a more elegant way of doing this?

Réponse acceptée

Voss
Voss le 1 Jan 2024
A = [3 5 7 1 2; 2 4 3 1 5; 2 6 1 6 6; 4 7 5 1 1; 2 0 1 5 2];
B = [1, 3, 5];
A = A(B,B)
A = 3×3
3 7 2 2 1 6 2 1 2
(The example suggests B is [1 3 5], not [1 4 5].)
  2 commentaires
Allan Paolo
Allan Paolo le 1 Jan 2024
Ah yes. Thank you very very much!
Voss
Voss le 1 Jan 2024
You're welcome!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by