Help with matrix problem
Afficher commentaires plus anciens
I need to divide a matrix in 2, one matrix if has a '0' in column 4:
A = [10 15 17 14; 12 1 14 0;12 5 7 9;1 4 8 0;14 15 7 4]
B = [10 15 17 14;12 5 7 9]
C = [12 1 14 0;1 4 8 0]
Matrix B doesn't have '0' in column 4, and matrix C has '0' in column 4.
Réponses (1)
Image Analyst
le 9 Sep 2016
I'm not sure why the last row of A is not included in B. So the closest I can get to what you want it:
A = [10 15 17 14; 12 1 14 0;12 5 7 9;1 4 8 0;14 15 7 4]
% B = [10 15 17 14;12 5 7 9]
% C = [12 1 14 0;1 4 8 0]
rowsWithZeros = A(:, 4) == 0
B = A(~rowsWithZeros, :)
C = A(rowsWithZeros, :)
This B will have the last row of A since the last row of A does not have 0 in column 4. If you want to crop off that last row of A for some weird reason, you can do this:
B = A(~rowsWithZeros, :)
B = B(1:end-1, :); % Crop off last row of B.
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!