logical index replace values

3 Ansichten (letzte 30 Tage)
Morten Jørgensen
Morten Jørgensen am 26 Mär. 2019
Kommentiert: Morten Jørgensen am 26 Mär. 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 Kommentare
Morten Jørgensen
Morten Jørgensen am 26 Mär. 2019
yes, how should I then put the value into mBall(:,4)?
Morten Jørgensen
Morten Jørgensen am 26 Mär. 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?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

KSSV
KSSV am 26 Mär. 2019
Bearbeitet: KSSV am 26 Mär. 2019
Read about logical indexing.
idx = 0 < output5 & output5 < 1 ;
output = output5(idx);
  1 Kommentar
KSSV
KSSV am 26 Mär. 2019
If you want row number find(idx)

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by