Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

Awesome Lists containing this project

README

        

# FractionalSystems.jl





building


codecov


license


license



GitHub issues


GitHub stars


GitHub forks

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)
FOTF

s^{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)
FOSS

A =
-5 0
0 -5
B =
2
2
C =
3 3
D =
0

Descriptor matrix:

E =
1

Time 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:)