Finding data off excel sheet
2 views (last 30 days)
Show older comments
Luke Radcliff
on 4 Jul 2016
Commented: Image Analyst
on 13 Jul 2016
In the excel sheet attached, the data is 3 different sensors 0,1 and 2(1st column), their voltage(2nd column) and time of the reading(3rd column). I'm struggling to find a way to seperate the full data set into one set of voltage readings and time readings for each sensor. This is what I have
A = xlsread('forcetest.csv');
idx1 = find(A == 0)
I used xlsread just because I think it is easier. I know I have to used the find function, this code I have so far just finds what rows are the censor 0, how to I get it to give me all those rows with the given voltage and time data? Do I have to use a for-loop?
7 Comments
Image Analyst
on 13 Jul 2016
Well like I said in my answer it wouldn't have worked anyway since it finds 0's anywhere, not just in column 1.
Accepted Answer
Image Analyst
on 5 Jul 2016
Try this:
A = xlsread('forcetest.csv');
% Extract column 1 which has the sensor IDs.
col1 = A(:, 1);
% Find which rows have value 0, meaning this row is for sensor #0.
sensor0Rows = find(col1 == 0);
% Extract only those rows for sensor #0.
array0 = A(sensor0Rows, :);
% Get voltage and time separately, in case that's wanted.
voltages = A(sensor0Rows, 2); % From column 2
times = A(sensor0Rows, 3); % From column 3
Note that find(A==0) won't work since it finds 0's anywhere, not just in column 1. So if you had a 1 or 2 in column 1 but a 0 in column 2, then it would pick out this row even though it shouldn't.
0 Comments
More Answers (0)
See Also
Categories
Find more on Data Import from MATLAB 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!