Column indexing with condition
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I have two matrices
A = [1, 0, 0;
0, -2, 0;
0, 0, -3];
B =[1, 2, 3;
4, 5, 6;
7, 8, 9];
I need to find columns in A with negative values (in this example it's 2 and 3 columns) and change the values to opposite in the corresponding columns of B. Basically, I want
B = [1, -2, -3;
4, -5, -6;
7, -8, -9];
Is there a fast way to do this using indexing? I know how to do this with a for loop, but I believe that's not the best solution
0 Commenti
Risposta accettata
per isakson
il 28 Apr 2020
Try this
>> isn = any( A<0, 1 );
>> B(:,isn) = -B(:,isn)
B =
1 -2 -3
4 -5 -6
7 -8 -9
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Matrix Indexing 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!