|
8 | 8 | "\n", |
9 | 9 | "One of the most basic of functions for models is simulation. Simulation is the process of predicting the evolution of [system's state](https://nasa.github.io/progpy/glossary.html#term-state) with time. Simulation is the foundation of prediction (see 9. Prediction). Unlike full prediction, simulation does not include uncertainty in the state and other product (e.g., [output](https://nasa.github.io/progpy/glossary.html#term-output)) representation.\n", |
10 | 10 | "\n", |
11 | | - "The first section introduces simulating to a specific time (e.g., 3 seconds), using the `simulate_to` method. The second section introduces the concept of simulating until a threshold is met rather than a defined time, using `simulate_to_threshold`. The third section makes simulation more concrete with the introduction of [future loading](https://nasa.github.io/progpy/glossary.html#term-future-load). The sections following these introduce various advanced features that can be used in simulation\n", |
| 11 | + "The first section introduces simulating to a specific time (e.g., 3 seconds), using the `simulate_to` method. The second section introduces the concept of simulating until a threshold is met rather than a defined time, using `simulate_to_threshold`. The third section makes simulation more concrete with the introduction of [future loading](https://nasa.github.io/progpy/glossary.html#term-future-load). The sections following these introduce various advanced features that can be used in simulation.\n", |
12 | 12 | "\n", |
13 | 13 | "Note: Before running this example make sure you have ProgPy installed and up to date." |
14 | 14 | ] |
|
19 | 19 | "source": [ |
20 | 20 | "## Basic Simulation to a Time\n", |
21 | 21 | "\n", |
22 | | - "Let's go through a basic example simulating a model to a time. In this case we are using the ThrownObject model. ThrownObject is a basic model of an object being thrown up into the air (with resistance) and returning to the ground.\n", |
| 22 | + "Let's go through a basic example simulating a model to a specific point in time. In this case we are using the ThrownObject model. ThrownObject is a basic model of an object being thrown up into the air (with resistance) and returning to the ground.\n", |
23 | 23 | "\n", |
24 | 24 | "First we import the model from ProgPy's models subpackage (see 3. Included Models) and create a model instance." |
25 | 25 | ] |
|
59 | 59 | "Simulation results consists of 5 different types of information, described below:\n", |
60 | 60 | "* **times**: the time corresponding to each value.\n", |
61 | 61 | "* **[inputs](https://nasa.github.io/progpy/glossary.html#term-input)**: Control or loading applied to the system being modeled (e.g., current drawn from a battery). Input is frequently denoted by u.\n", |
62 | | - "* **[states](https://nasa.github.io/progpy/glossary.html#term-state)**: Internal variables (typically hidden states) used to represent the state of the system. Can be same as inputs oroutputs but do not have to be. State is frequently denoted as `x`.\n", |
| 62 | + "* **[states](https://nasa.github.io/progpy/glossary.html#term-state)**: Internal variables (typically hidden states) used to represent the state of the system. Can be same as inputs or outputs but do not have to be. State is frequently denoted as `x`.\n", |
63 | 63 | "* **[outputs](https://nasa.github.io/progpy/glossary.html#term-output)**: Measured sensor values from a system (e.g., voltage and temperature of a battery). Can be estimated from the system state. Output is frequently denoted by `z`.\n", |
64 | 64 | "* **[event_states](https://nasa.github.io/progpy/glossary.html#term-event-state)**: Progress towards [event](https://nasa.github.io/progpy/glossary.html#term-event) occurring. Defined as a number where an event state of 0 indicates the event has occurred and 1 indicates no progress towards the event (i.e., fully healthy operation for a failure event). For a gradually occurring event (e.g., discharge) the number will progress from 1 to 0 as the event nears. In prognostics, event state is frequently called “State of Health”.\n", |
65 | 65 | "\n", |
66 | | - "In this case, times are the start and beginning of the simulation ([0, 3]), since we have not yet told the simulator to save intermediate times. The ThrownObject model doesn't have any way of controlling or loading the object, so there are no inputs. The states are position (`x`) and velocity (`v`). This model assumes that you can measure position, so the outputs are just position (`x`). The two events for this model are `falling` (i.e., if the object is falling towards the earth) and `impact` (i.e., the object has impacted the ground). For a real prognostic model events might be failure modes or warning thresholds." |
| 66 | + "In this case, times are the start and beginning of the simulation ([0, 3]), since we have not yet told the simulator to save intermediate times. The ThrownObject model doesn't have any way of controlling or loading the object, so there are no inputs. The states are position (`x`) and velocity (`v`). This model assumes that you can measure position, so the outputs are just position (`x`). The two events for this model are `falling` (i.e., if the object is falling towards the earth) and `impact` (i.e., the object has impacted the ground). For a real prognostic model, events might be failure modes or warning thresholds." |
67 | 67 | ] |
68 | 68 | }, |
69 | 69 | { |
|
163 | 163 | "cell_type": "markdown", |
164 | 164 | "metadata": {}, |
165 | 165 | "source": [ |
166 | | - "Next, let's look at the event_states" |
| 166 | + "Next, let's look at the event_states (i.e., `falling` and `impact`)." |
167 | 167 | ] |
168 | 168 | }, |
169 | 169 | { |
|
0 commit comments