How to make all negative values in a matrix 0?

40 vues (au cours des 30 derniers jours)
Pleuni Kirch
Pleuni Kirch le 18 Nov 2020
Modifié(e) : cr le 19 Nov 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 commentaire
Pleuni Kirch
Pleuni Kirch le 18 Nov 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

Connectez-vous pour commenter.

Réponse acceptée

cr
cr le 18 Nov 2020
Modifié(e) : cr le 19 Nov 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;

Plus de réponses (2)

Walter Roberson
Walter Roberson le 18 Nov 2020
A(:, 2) = max(0, A(:, 2))

Andrew Flewellen-Gore
Andrew Flewellen-Gore le 18 Nov 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.

Catégories

En savoir plus sur Operators and Elementary Operations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by