Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/SciFracX/FractionalSystems.jl
Fractional order systems toolbox in Julia.
https://github.com/SciFracX/FractionalSystems.jl
control-systems dynamical-systems fractional-calculus fractional-differential-equations fractional-pid fractional-systems julia modeling numerical-analysis pid-controller
Last synced: 3 months ago
JSON representation
Fractional order systems toolbox in Julia.
- Host: GitHub
- URL: https://github.com/SciFracX/FractionalSystems.jl
- Owner: SciFracX
- License: mit
- Created: 2021-12-19T14:57:12.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-12-23T11:38:42.000Z (11 months ago)
- Last Synced: 2024-07-12T17:17:41.058Z (4 months ago)
- Topics: control-systems, dynamical-systems, fractional-calculus, fractional-differential-equations, fractional-pid, fractional-systems, julia, modeling, numerical-analysis, pid-controller
- Language: Julia
- Homepage: https://scifracx.github.io/FractionalSystems.jl/dev/
- Size: 427 KB
- Stars: 8
- Watchers: 2
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-sciml - SciFracX/FractionalSystems.jl: Fractional order modeling and analysis in Julia.
README
# FractionalSystems.jl
FractionalSystems.jl is a Julia toolbox can be used to model and analyse the fractional order systems.
## Get Started
To add the FractionalSystems.jl, using the Julia package manager:
```julia
pkg> add FractionalSystems
```### Basic FOTF and FOSS
Fractional order transfer functions and fractional order state space are the basic elements in fractional control system, it is esay to create them in FractionalSystems.jl:
```julia
julia> tf = fotf([1, 2], [0.3, 0.4], [1, 2], [0.5, 0.6], 2)
FOTFs^{0.3} + 2s^{0.4}
------------------ exp(-2*s)
s^{0.5} + 2s^{0.6}
``````julia
julia> sys = foss([-5 0; 0 -5],[2; 2],[3 3],[0], 0.5, 1, 1, 1)
FOSSA =
-5 0
0 -5
B =
2
2
C =
3 3
D =
0Descriptor matrix:
E =
1Time delay is 1
α = 0.5
Initial state vector x₀ = 1
```## Analyzing methods
To see the root locus of a fractional order system:
```julia
julia> G = fotf([1], [0], [1, 10, 35, 50, 24], [3.5, 2.8, 2.1, 1.4, 0.7])
julia> rlocus(G)
```![rlocus](examples/rlocusexample.png)
## Notice
The FractionalSystems.jl can be seen as the combination of [FOTF](https://www.mathworks.com/matlabcentral/fileexchange/60874-fotf-toolbox), [FOMCON](https://fomcon.net/) and [ControlSystems.jl](https://github.com/JuliaControl/ControlSystems.jl)
We are working hard on FractionalSystems.jl to provide performant features as much as possible, if you are interested, don't hesitate to get in touch:)