how to filter using matlab with multiple conditions.??

57 views (last 30 days)
time ch_1 ch_2 ch_3 ch_4
data_20140202_0000 1.00 10.00 12.00 89.00
data_20140202_0112 1.50 30.00 65.00 78.00
data_20140202_1200 4.00 50.00 32.00 87.00
data_20140202_1600 8.00 76.00 12.00 87.00
data_20140202_2304 3.00 32.00 11.00 67.00
i want the whole files which
my condition is ch_1 between 1 to 3 and ch_2 between 10 to 30 ,both should satisfy,
output like this below, which should save in separate excel file
time ch_1 ch_2 ch_3 ch_4
data_20140202_0000 1.00 10.00 12.00 89.00
data_20140202_0112 1.50 30.00 65.00 78.00

Accepted Answer

David Sanchez
David Sanchez on 5 Feb 2014
[data headings] = xlsread('your_file.xls');
ch1=data(:,1);
filt_data1 = find((ch1<=3) & (ch1>=1));
data = data(filt_data1,:);
headings = headings(filt_data1+1,:);
ch2=data(:,2);
filt_data2 = find((ch2<=25) & (ch2>=10));
data = data(filt_data2,:);
headings = headings(filt_data2+1,:);
Now you have your headings and data to write into the xls
  1 Comment
sandy
sandy on 6 Feb 2014
Edited: sandy on 11 Feb 2014
thanks...but how to write in excel with two separate variables (data and heading)...also i have many channels in excel sheet.i am trying to create a GUI code by which if i give .......
INPUT:
1.two channels name
2.min limit and max limit(by which my values between this min &max limits should get as output)
output:
inbetween values with header in separate excel file(its like filtering with multiple conditions)
any ideas ???

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!