filter series based on test but how do I know what series passed??

1 次查看(过去 30 天)
Hi all, i had some help with this already from Image but one thing is I need to know what variables passed the test, as there will be another one to run afterwards of which all remaining series need to be identified. Here's what I have so far. I would like to know how I can keep track of which variables passed this test (in this case it's x2 & x3); would appreciate any suggestions. Cheers
x1=5; x2=30; x3=40; x4=3; x=[x1,x2,x3,x4] xTL=sum(x,2)
x=[];
pct=.10;
test1 = pct * xTL
%aggregate test if x1 > test1 fprintf('Adding on x1:\n'); x = [x, x1]; end
if x2 > test1 fprintf('Adding on x2:\n'); x = [x, x2]; end
if x3 > test1 fprintf('Adding on x3:\n'); x = [x, x3]; end
if x4 > test1 fprintf('Adding on x4:\n'); x = [x, x4]; end
  1 个评论
Jeff
Jeff 2013-9-25
编辑:Jeff 2013-9-25
Let me clarify further, I would like to run these two tests shown below together and then export the series that have passed the condition to excel but would also need to know the variables that were exported. Can someone help in how to export the results and on how to identify which of the original series are exported.
Here's a similar example as above but with some time series and two conditions present.
%% %data and aggregate x1=[10 8 10]'; x2=[30 29 45]'; x3=[40 15 85]'; x4=[3 2 8]'; x=[x1,x2,x3,x4] xTL=sum(x,2) xTL=xTL(1);
%extracting recent values x_1=x1(1); x_2=x2(1); x_3=x3(1); x_4=x4(1);
%% %diff and percent changes xN=[NaN NaN NaN NaN]; x_d=[diff(-x); xN]; x_p=x_d./x;
%extracting recent percent change for test x1_p=x_p(1,1); x2_p=x_p(1,2); x3_p=x_p(1,3); x4_p=x_p(1,4);
%% test to filter data x=[]; pct=.10;
test1 = pct * xTL; test2 = .05;
%conditional test if ((x_1 > test1) & (abs(x1_p) > test2)) fprintf('Adding on x1:\n'); x = [x, x1]; end
if ((x_2 > test1) & (x2_p > test2)) fprintf('Adding on x2:\n'); x = [x, x2]; end
if ((x_3 > test1) & (x3_p > test2)) fprintf('Adding on x3:\n'); x = [x, x3]; end
if ((x_4 > test1) & (x4_p > test2)) fprintf('Adding on x4:\n'); x = [x, x4]; end

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2013-9-25
whichofthem = find([x2, x2, x3, x4] > test1)
  1 个评论
Jeff
Jeff 2013-9-25
this does return the index of the vector but I guess I should add that the results are to be exported to excel. How can I retrieve the series names for the cases that past the conditions for exporting to excel?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Outputs 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by