Effacer les filtres
Effacer les filtres

logical index replace values

2 vues (au cours des 30 derniers jours)
Morten Jørgensen
Morten Jørgensen le 26 Mar 2019
Hi
mBall(1:15001,4) = 0;
-3.42 -24.55 5.19 0
-3.01 -24.59 5.66 0
-2.59 -24.64 6.11 0
-2.19 -24.69 6.53 0
-1.78 -24.73 6.91 0
-1.38 -24.79 7.28 0
-0.98 -24.84 7.63 0
% this is what an exsample of what my mBall looks like
% I have an array c that consist of 3786x2
% I'm trying to insert values from c(:,2) in mBall(:,4)
% But only in the rows equal to value in c(:,1)
c =
2 1
3 1
4 2
5 3
7 3
% mBall should look like this afterwards
mball =
-3.42 -24.55 5.19 0
-3.01 -24.59 5.66 1
-2.59 -24.64 6.11 1
-2.19 -24.69 6.53 2
-1.78 -24.73 6.91 3
-1.38 -24.79 7.28 0
-0.98 -24.84 7.63 3
  7 commentaires
Morten Jørgensen
Morten Jørgensen le 26 Mar 2019
yes, how should I then put the value into mBall(:,4)?
Morten Jørgensen
Morten Jørgensen le 26 Mar 2019
previously I have used function find like this
[xlocs, ylocs] = find(0 < output & output < 1);
c = [xlocs, ylocs]
% then i have my array mBall, that i want to change
mBall(1:15001,4) = 0;
% I want to replace the 0 in column 4 of mBall with the numbers in ylocs?
% is this more clear?

Connectez-vous pour commenter.

Réponses (1)

KSSV
KSSV le 26 Mar 2019
Modifié(e) : KSSV le 26 Mar 2019
Read about logical indexing.
idx = 0 < output5 & output5 < 1 ;
output = output5(idx);
  1 commentaire
KSSV
KSSV le 26 Mar 2019
If you want row number find(idx)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing 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