Retain rows and columns depending on the values of an array

1 visualizzazione (ultimi 30 giorni)
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?

Risposta accettata

Voss
Voss il 1 Gen 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].)

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by