Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- data1 = {{t11,X1},{t12,X2},{t13,X3}, ... ,{t1n,Xn}};
- data2 = {{t21,Y1},{t22,Y2},{t23,Y3}, ... ,{t2m,Ym}};
- dataClean = Block[
- {sTfI, loT, datafrmod, xx, T},
- T = 40;
- sTfI = Cases[data1, {_, T}][[{1, -1}, 1]];
- loT = Select[data1, #[[1]] >= sTfI[[1]] && #[[1]] <= sTfI[[2]] &];
- datafrmod = Select[data2, #[[1]] > (loT[[1, 1]] + 5.) && #[[1]]<(loT[[-1, 1]] - 5.) &];
- xx = DeleteDuplicates[
- Select[loT, #[[2]] != T &][[;; , 1]], (Abs[#1 - #2] < 5. &)];
- Do[datafrmod =
- Join[Select[datafrmod, #[[1]] < (xx[[i]] - 10) &],
- Select[datafrmod, #[[1]] > (xx[[i]] + 10) &]], {i, Length[xx]}];
- datafrmod
- ]; // AbsoluteTiming
- data = Block[
- {T, which},
- T = 40;
- which =
- With[{tsBad =
- Extract[data1[[All, 1]],
- Position[data1[[All, 2]], Except[T], {1}, Heads -> False]]},
- Complement[Range[Length[data2]], ##] & @@
- Nearest[data2[[All, 1]] -> "Index", tsBad, {[Infinity], 10}]];
- data2[[which]]
- ]; // AbsoluteTiming
- which = With[{tsBad = Extract[data1[[All, 1]], Position[data1[[All, 2]], Except[T], {1}, Heads -> False]]},
- Complement[Range[Length[data2]], ##] & @@ Nearest[data2[[All, 1]] -> "Index", tsBad, {∞, 10}]];
- data3 = data2[[which]];
Add Comment
Please, Sign In to add comment