Guest User

Untitled

a guest
May 25th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. data1 = {{t11,X1},{t12,X2},{t13,X3}, ... ,{t1n,Xn}};
  2. data2 = {{t21,Y1},{t22,Y2},{t23,Y3}, ... ,{t2m,Ym}};
  3.  
  4. dataClean = Block[
  5. {sTfI, loT, datafrmod, xx, T},
  6. T = 40;
  7.  
  8. sTfI = Cases[data1, {_, T}][[{1, -1}, 1]];
  9. loT = Select[data1, #[[1]] >= sTfI[[1]] && #[[1]] <= sTfI[[2]] &];
  10.  
  11. datafrmod = Select[data2, #[[1]] > (loT[[1, 1]] + 5.) && #[[1]]<(loT[[-1, 1]] - 5.) &];
  12. xx = DeleteDuplicates[
  13. Select[loT, #[[2]] != T &][[;; , 1]], (Abs[#1 - #2] < 5. &)];
  14.  
  15. Do[datafrmod =
  16. Join[Select[datafrmod, #[[1]] < (xx[[i]] - 10) &],
  17. Select[datafrmod, #[[1]] > (xx[[i]] + 10) &]], {i, Length[xx]}];
  18. datafrmod
  19. ]; // AbsoluteTiming
  20.  
  21. data = Block[
  22. {T, which},
  23. T = 40;
  24. which =
  25. With[{tsBad =
  26. Extract[data1[[All, 1]],
  27. Position[data1[[All, 2]], Except[T], {1}, Heads -> False]]},
  28. Complement[Range[Length[data2]], ##] & @@
  29. Nearest[data2[[All, 1]] -> "Index", tsBad, {[Infinity], 10}]];
  30. data2[[which]]
  31. ]; // AbsoluteTiming
  32.  
  33. which = With[{tsBad = Extract[data1[[All, 1]], Position[data1[[All, 2]], Except[T], {1}, Heads -> False]]},
  34. Complement[Range[Length[data2]], ##] & @@ Nearest[data2[[All, 1]] -> "Index", tsBad, {∞, 10}]];
  35.  
  36. data3 = data2[[which]];
Add Comment
Please, Sign In to add comment