Help with matrix problem

1 visualización (últimos 30 días)
Andres  Romero
Andres Romero el 9 de Sept. de 2016
Respondida: Image Analyst el 9 de Sept. de 2016
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.

Respuestas (1)

Image Analyst
Image Analyst el 9 de Sept. de 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.

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by