conditional data selection and saving back to file
2 次查看(过去 30 天)
显示 更早的评论
I have data matrix x= row [1 :2:100] and y =row[1:2:100] same number of elements in x and y.
i want to choose data with following conditions,
for x<20 select data at interval of 5 which is [1; 6; 11; 17]
for 20<x<50 select data at interval of 10 which is [20; 30; 40; 50]
for 50<x<100 data selection at interval of 8 ......
same for y and then I have to plot x vs y
how can I easily do it for larger set of data for x and y and save it later in .txt or excel file.
Thank you.
0 个评论
采纳的回答
Mathieu NOE
2021-3-11
hello
this is my suggestion
NB the input data I have changed the delta to 1 so that it works for the tasks you asked
clc
clearvars
x= (1:100)';
y = sin(0.25*x)+0.1*x;
% i want to choose data with following conditions,
% for x<20 select data at interval of 5 which is [1; 6; 11; 17]
% for 20<x<50 select data at interval of 10 which is [20; 30; 40; 50]
% for 50<x<100 data selection at interval of 8 ......
% same for y and then I have to plot x vs y
% how can I easily do it for larger set of data for x and y and save it later in .txt or excel file.
% below vector have length equal to number of cases stated above
% you easily expand the number of conditions without doing manual tweaks
lim_low = [1 20 50]; % define here the lower limits of range
lim_up = [20 50 100]; % define here the uper limits of range
steps = [5 10 8]; % define here the steps
%%% main loop %%
ind = [];
for ci = 1:numel(steps)
ind = [ind (lim_low(ci):steps(ci):lim_up(ci))]; %#ok<*AGROW>
end
ind = unique(ind); % remove duplicates if any
xx = x(ind);
yy = y(ind);
plot(x,y,'b',xx,yy,'dr')
A = [xx(:) yy(:)];
writematrix(A,'out_file.txt');
2 个评论
Mathieu NOE
2021-3-12
I am not sure to understand - how would you define then the intervals and steps ?
maybe I didn't understand in the first place the purpose of that code
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import and Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!