How to make 2 matrix out of 1 one matrix??
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ali nouri
el 25 de Jun. de 2020
Comentada: Alan Stevens
el 26 de Jun. de 2020
Hi Guys,
I have a 8760X30 matrix, which is included with the positive and negative number. Now I want to make 2 matrix of the originally matrix with the same dimension.
The difference is in one matrix should included the possitive number from the originally matrix and replace the negatives with zero, and in the other matrix should included with negative value and replace positive number with zero.
How can I do it?
0 comentarios
Respuesta aceptada
Alan Stevens
el 25 de Jun. de 2020
If your first matrix is A, then:
ix = find(A>0); B = A; B(ix) = 0;
ix = find(A<0); C = A; C(ix) = 0;
2 comentarios
Alan Stevens
el 26 de Jun. de 2020
I agree that the "find" version is not the most efficient. However, sometimes clarity is more important than efficiency, and I suggest that, for a novice, the "find" version is clearer.
Más respuestas (1)
Sugar Daddy
el 25 de Jun. de 2020
Editada: madhan ravi
el 26 de Jun. de 2020
Aneg = (A<0) .* A
Apos = (A>0) .* A
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!