types.trajectories.TrajectorySegment
types.trajectories.TrajectorySegment()Segment of trajectory between two time points.
Extracted portion of full trajectory for analysis.
Attributes
| Name | Type | Description |
|---|---|---|
| states | StateTrajectory | State trajectory segment |
| controls | Optional[ControlSequence] | Control sequence segment |
| time | TimePoints | Time points for segment |
| start_index | int | Index in original trajectory where segment starts |
| end_index | int | Index in original trajectory where segment ends |
Examples
>>> def extract_segment(
... result: SimulationResult,
... t_start: float,
... t_end: float
... ) -> TrajectorySegment:
... '''Extract trajectory segment.'''
... time = result['time']
... mask = (time >= t_start) & (time <= t_end)
... indices = np.where(mask)[0]
...
... return TrajectorySegment(
... states=result['states'][mask],
... controls=result['controls'][mask[:-1]] if 'controls' in result else None,
... time=time[mask],
... start_index=indices[0],
... end_index=indices[-1],
... )
>>>
>>> # Extract transient response (first 2 seconds)
>>> segment: TrajectorySegment = extract_segment(result, 0.0, 2.0)
>>> transient_states = segment['states']