Creating a vector using conditions and a cell.
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Julen Aramendi
il 15 Lug 2021
Commentato: Stephen23
il 16 Lug 2021
This is what I have in the workspace. I have 3 acceleration vectors (one column each): Ax (799x1 double), Ay(799x1 double) and Az(799x1 double). Also I have a cell called activities: activities (1x4 cell) with this code:
Activities={'Walking','Sitting','Standing','Laying'};
Walking=1;
Sitting=2;
Standing=3;
Laying=4;
What I want to do is to create another vector called "actid"(799x1 double) using this conditions:
if Ay>10
actid=1; %Walking
elseif Ay>5 & Ay<7.5
actid=2; %Sitting
elseif Ay<10 & Ay>9
actid=3; %Standing
elseif Ay<1 & Az>9
actid=4; %Laying
end
Running this code I can't get what I want.
I don't know if it is possible to do.
Thank you.
3 Commenti
Stephen23
il 16 Lug 2021
"operate on the entire vectors". Can you give me a simple example?"
Simon Chan's answer is an example. Indexing would be another vectorized approach. See:
The difference is thinking in terms of matrices/arrays, not individual elements.
Risposta accettata
Simon Chan
il 15 Lug 2021
Modificato: Simon Chan
il 15 Lug 2021
Try this:
Zeros in the matrix means all conditions are not meet
actid=(Ay>10) + (Ay>5 & Ay<7.5)*2 + (Ay<10 & Ay>9)*3 + (Ay<1 & Az>9)*4
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Particle & Nuclear Physics in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!