/// <summary>Extracts points with time less than or equal to <paramref name="to"/></summary> /// <param name="solution">Solution</param> /// <param name="to">Finish time</param> /// <returns>New sequence of solution points</returns> public static IObservable <SolPoint> ToRx(this IEnumerable <SolPoint> solution, out IEquasionController controller) { var obs = new ODE_Rx(solution); controller = obs; return(obs); }
/// <summary>Interpolates solution at points with specified time step</summary> /// <param name="solution">Solution</param> /// <param name="delta">Time step</param> /// <returns>New sequence of solution points at moments i * delta</returns> /// <remarks>Linear intepolation is used to find phase vector between two solution points</remarks> public static IObservable <SolPoint> WithStepRx(this IEnumerable <SolPoint> solution, double delta, out IEquasionController controller) { var obs = new ODE_Rx(solution, delta); controller = obs; return(obs); }