Creating a vector using conditions and a cell.
1 view (last 30 days)
Show older comments
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 Comments
Stephen23
on 16 Jul 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.
Accepted Answer
Simon Chan
on 15 Jul 2021
Edited: Simon Chan
on 15 Jul 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 Comments
More Answers (0)
See Also
Categories
Find more on Particle & Nuclear Physics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!