Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jmoy/plotdf
Python package to plot phase portraits of 2D differential equations.
https://github.com/jmoy/plotdf
Last synced: 3 months ago
JSON representation
Python package to plot phase portraits of 2D differential equations.
- Host: GitHub
- URL: https://github.com/jmoy/plotdf
- Owner: jmoy
- License: gpl-3.0
- Created: 2015-09-12T03:53:40.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-09-13T07:11:56.000Z (about 9 years ago)
- Last Synced: 2024-04-26T00:25:42.380Z (7 months ago)
- Language: Python
- Size: 141 KB
- Stars: 27
- Watchers: 5
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Plot phase portraits of 2D differential equations using
Python's `matplotlib` and `scipy` libraries.Inspired by Maxima's `plotdf` function.
## Usage
To plot `dx/dt = y`, `dy/dt = -g sin(x) / l - b y/ (m l)`:
````
from math import sin
from plotdf import plotdf
def f(x,g=1,l=1,m=1,b=1):
return np.array([x[1],-g*sin(x[0])/l-b*x[1]/m/l])plotdf(f, # Function giving the rhs of the diff. eq. system
np.array([-10,2]), # [xmin,xmax]
np.array([-14,14]),# [ymin,ymax]
[(1.05,-9),(0,5)], # list of initial values for trajectories (optional)
# Additional parameters for `f` (optional)
parameters={"g":9.8,"l":0.5,"m":0.3,"b":0.05})
````For the full list of parameters to `plotdf`, see `help(plotdf.plotdf)`.
## Dependencies
Both Python 2 and 3 are supported. You need `matplotlib`,
`numpy` and `scipy` installed.## Installation
The package is on PyPI so you can install it with
$ pip install plotdf