Get Started
Fractional transfer function
After installed the FractionalSystems.jl package and using it, we can now create a fractional order transfer function:
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}
Or simply by passing the strings to the definition of fotf:
julia> fotf("s")
Basic arithmetic operations
In FractionalSysetms.jl we can perform basic arithmetic operations on fractional order transfer functions:
* Addition
* Subtraction
* Multiplication
* Division
julia> a = fotf([1, 2], [0.3, 0.4], [3, 4], [0.5, 0.6])
FOTF
2s^{0.4}+s^{0.3}
-----------------
4s^{0.6}+3s^{0.5}
julia> b=fotf([1, 2], [0.3, 0.4], [2, 3], [0.4, 0.5])
FOTF
2s^{0.4}+s^{0.3}
-----------------
3s^{0.5}+2s^{0.4}
julia> a+b
FOTF
8s^{0.3}+16s^{0.2}+10s^{0.10000000000000003}+2
----------------------------------------------
12s^{0.39999999999999997}+17s^{0.3}+6s^{0.2}
julia> a-b
-8s^{0.3}-4s^{0.2}+4s^{0.10000000000000003}+2
---------------------------------------------
12s^{0.39999999999999997}+17s^{0.3}+6s^{0.2}
julia> a*b
FOTF
4s^{0.20000000000000007}+4s^{0.09999999999999998}+1
-----------------------------------------------------------
12s^{0.5000000000000001}+17s^{0.4}+6s^{0.30000000000000004}
julia> a/b
FOTF
6.0s^{0.20000000000000007}+7.0s^{0.09999999999999998}+2.0
---------------------------------------------------------------------------------
8.0s^{0.29999999999999993}+10.0s^{0.20000000000000007}+3.0s^{0.09999999999999998}
Fractional order state space
In FractionalSystems.jl, it is easy to create fractional order state space:
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