How to make all negative values in a matrix 0?

37 visualizaciones (últimos 30 días)
Pleuni Kirch
Pleuni Kirch el 18 de Nov. de 2020
Editada: cr el 19 de Nov. de 2020
for i= 1: size(A,1)
if A (i, 2) <= 0
DataNew(i,2) = 0
This is what I have now, but there are still negative values in my DataNew matrix
  1 comentario
Pleuni Kirch
Pleuni Kirch el 18 de Nov. de 2020
I am sorry I dont know how to change my question, but I only want to make the negative values of a certain column 0. Not all negative values in the matrix

Iniciar sesión para comentar.

Respuesta aceptada

cr
cr el 18 de Nov. de 2020
Editada: cr el 19 de Nov. de 2020
%% Set all negative elements to 0
A(A<0) = 0;
%% Set second column elements to 0
col = 2;
a(a(:,col)<0,col) = 0;

Más respuestas (2)

Walter Roberson
Walter Roberson el 18 de Nov. de 2020
A(:, 2) = max(0, A(:, 2))

Andrew Flewellen-Gore
Andrew Flewellen-Gore el 18 de Nov. de 2020
To set set negative values in a certain column of matrix "A" to 0, you can do this:
For this example we assume A is a 2-D number matrix and that we are getting rid of negative values in the 2nd column.
>>A(:,2) = max( A(:,2), 0 )
This line of code replaces each negative number in the second collumn with 0. Each positive number in the second collumn will stay the same.

Categorías

Más información sobre Operators and Elementary Operations 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!

Translated by