Effacer les filtres
Effacer les filtres

create "for" condition to multiply specific values ​​of a column

3 vues (au cours des 30 derniers jours)
I have these values ​​in an attached matrix called "belem_gldas.mat"
I want to make the following condition: for values ​​less than 1 of all rows in column 6 perform the multiplication by "dia_28"
In short:
I want to multiply all values ​​<1 for all rows in column 6 by "day_28"
dia_28=2419200
for belem_gldas=belem_gldas(belem_gldas(:,6)<1,:)
belem_gldas(:,6)<1*dia_28
end

Réponse acceptée

Image Analyst
Image Analyst le 29 Déc 2022
Try this:
% Get data.
s = load('belem_gldas.mat')
belem_gldas = s.belem_gldas
dia_28=2419200;
% Get mask = rows where column 6 is less than 1.
mask = belem_gldas(:, 6) < 1;
% For those rows only, multiply the values by dia_28.
belem_gldas(mask, 6) = belem_gldas(mask, 6) * dia_28
  1 commentaire
Augusto Gabriel da Costa Pereira
Thanks a lot for the solution. It is an honor to receive a response from you.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Multidimensional Arrays dans Help Center et File Exchange

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by