GetSpikePosition.m 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. function thisCLST = GetSpikePosition(thisCLST, Pos)
  2. rowSpike=length(thisCLST.Timestamp);
  3. row=length(Pos.t);
  4. thisCLST.x=zeros(rowSpike,1);
  5. thisCLST.y=zeros(rowSpike,1);
  6. thisCLST.t=zeros(rowSpike,1);
  7. thisCLST.SmoothingVelocity=zeros(rowSpike,1);
  8. k=1;
  9. for i=1:rowSpike
  10. i
  11. for j=k:row-3
  12. if (thisCLST.Timestamp(i,1)>=Pos.t(j))&&(thisCLST.Timestamp(i,1)<Pos.t(j+1))
  13. if(thisCLST.Timestamp(i,1)-Pos.t(j))>(Pos.t(j+1)-thisCLST.Timestamp(i,1))
  14. thisCLST.x(i)=Pos.x(j+1);
  15. thisCLST.y(i)=Pos.y(j+1);
  16. thisCLST.t(i)=Pos.t(j+1);
  17. thisCLST.SmoothingVelocity(i)=Pos.SmoothingVelocity(j+1);
  18. k=j;
  19. break;
  20. elseif (thisCLST.Timestamp(i,1)-Pos.t(j))<=(Pos.t(j+1)-thisCLST.Timestamp(i,1))
  21. thisCLST.x(i)=Pos.x(j);
  22. thisCLST.y(i)=Pos.y(j);
  23. thisCLST.t(i)=Pos.t(j);
  24. thisCLST.SmoothingVelocity(i)=Pos.SmoothingVelocity(j);
  25. k=j;
  26. break;
  27. end
  28. end
  29. end
  30. end