# Overview

## 1  Introduction

The FOMCON toolbox for MATLAB is a fractional-order calculus based toolbox for system modeling and control design. The core of the toolbox is derived from an existing mini toolbox FOTF (“Fractional-order Transfer Functions”), the source code for which is provided in literature [1, 2, 3]. Consequently, the main object of analysis in FOMCON is a fractional-order transfer function in form

\begin{equation*} G(s)=\frac{Y(s)}{U(s)}=\frac{b_{m}s^{\beta_{m}}+b_{m-1}s^{\beta_{m-1}}+\cdots+b_{0}s^{\beta_{0}}}{a_{n}s^{\alpha_{n}}+a_{n-1}s^{\alpha_{n-1}}+\cdots+a_{0}s^{\alpha_{0}}}. \end{equation*}

FOMCON is related to other existing fractional-order calculus oriented MATLAB toolboxes, such as CRONE [4] and Ninteger [5], and this relation is depicted in Figure 1.

Figure 1. Fractional-calculus based toolbox relations

The basic motivation for developing FOMCON was the desire to obtain a set of useful and convenient tools to facilitate the research of fractional-order systems. This involved writing convenience functions, e.g. the polynomial string parser, building graphical user interfaces to improve the general workflow. However, a full suite of tools was also desired due to certain limitaions in existing toolboxes. The basic functionality of the toolbox was then extended with advanced features, such as fractional-order system identification and PI$^\lambda$D$^\mu$ design.

With all previous considerations, the motivations for developing the toolbox can now be established.

• It is a product suitable for both beginners and more demanding users to to avaliability of graphical user interfaces and advanced functionality.
• It focuses on extending classical control schemes with concepts of fractional calculus.
• It can be viewed as a “missing link” between CRONE and Ninteger.
• With the Simulink blockset the toolbox aims at a more sophisticated modeling approach.
• Due to availability of the source code the toolbox can be ported to other computational platforms such as Scilab or Octave (some limitations and/or restrictions may apply).

In the following section, we present an overview of the toolbox structure.

## 2  Toolbox structure

The toolbox has a modular structure and currently consists of the following modules:

• Main module (fractional system analysis);
• Identification module (system identification in both time and frequency domains);
• Control module (fractional PID design, tuning and optimization tools, as well as some additional features).

All the modules are interconnected and can be accessed from the graphical user interface as depicted in Figure 2.

Figure 2. FOMCON toolbox module overview (name of corresponding function to open the GUI is given in parenthesis)

A Simulink blockset is also provided in the toolbox allowing more complex modeling tasks to be carried out. General approach to block construction was used where applicable. The following blocks are currently realized:

• General fractional-order operator;
• Fractional integrator and differentiator;
• Fractional transfer function;
• PI$^\lambda$D$^\mu$ controller;
• TID controller.

## 3  Dependencies

The toolbox relies on the following MATLAB products:

• Control System toolbox, which is required for most features;
• Optimization toolbox, required for time-domain identification, integer-order PID tuning and also in part for fractional-order PID tuning.

Several other tools are used directly (without change) per the BSD license:

• optimize() function [6];
• Several Ninteger toolbox frequency domain identification functions.

It is also possible to export fractional-order systems to the CRONE toolbox format. This feature requires the object-oriented CRONE toolbox to be installed.

## References

 [1] D. Xue, Y. Chen, and D. P. Atherton, Linear Feedback Control: Analysis and Design with MATLAB (Advances in Design and Control), 1st ed.. Philadelphia, PA, USA: Society for Industrial and Applied Mathematics, 2008. [2] Y. Q. Chen, I. Petráš, and D. Xue, “Fractional order control – A tutorial,” in Proc. ACC ’09. American Control Conference, 2009, pp. 1397–1411. [3] C. A. Monje, Y. Chen, B. Vinagre, D. Xue, and V. Feliu, Fractional-order Systems and Controls: Fundamentals and Applications, ser. Advances in Industrial Control. Springer Verlag, 2010. [4] A. Oustaloup, P. Melchior, P. Lanusse, O. Cois, and F. Dancla, “The CRONE toolbox for Matlab,” in Proc. IEEE Int. Symp. Computer-Aided Control System Design CACSD 2000, 2000, pp. 190–195. [5] D. Valério. (2005) Toolbox ninteger for MatLab, v. 2.3. [Online]. Available: http://web.ist.utl.pt/duarte.valerio/ninteger/ninteger.htm [6] R. Oldenhuis. (2009) Optimize. [Online]. Available: http://www.mathworks.com/matlabcentral/fileexchange/24298-optimize

1. Posted January 24, 2013 at 11:35 | Permalink

I am a research scholar doing a research in fraction order control for non linear process. so i am in need of the above discussed tool box for my work.

• Posted January 24, 2013 at 11:57 | Permalink

The toolbox is available for download in the corresponding section of the website.

2. Prakhar rastogi
Posted February 12, 2013 at 13:01 | Permalink

Hello Sir !!
Thanx for developing this code to simulate fractional order systems. I am a research scholar working on FOPID. Need to tell you that when I simulate transfer function with delay, it is showing error. FOMCON is unable to optimize FOPID for first or second order system with time delay. Kindly look to the matter and please revert ASAP.
Thnx n Regards

• Posted February 12, 2013 at 23:27 | Permalink

You can use the bug tracker to file new bugs or enhancement proposals.

• Posted February 14, 2013 at 13:57 | Permalink

Thank you for reporting the issue! I will investigate it further and most likely post a patch in the next few days.

• Posted February 22, 2013 at 12:32 | Permalink

Can you provide the system which causes the fractional-order PID optimization tool to fail? I would also like to see the error output in MATLAB command line interface. I’ve had several systems with delay as test cases, but could not isolate the problem so far.
Also, I would like to know which version of MATLAB you are using. It may be a compatibility or feature issue.

3. Prakhar Rastogi
Posted March 5, 2013 at 15:20 | Permalink

Dear Sir,
just consider any first order transfer function with delay. and try to optimize FOPID parameters (Kp, Ki, Kd, lambda and mu) with FOMCON it’s giving me error on command window that, multiple delays connot be handled. I am using MATLAB version 7.11 (Release 2010b). kindly mail me ur e-mail id at onlyprakhar@gmail.com so that i could mail u the video of problem which i am facing.

Thanks n Regards

• Posted March 5, 2013 at 22:53 | Permalink

This bug, as I suspected, is related to the used MATLAB version. I have a patch for you to try here: related forum post. Please try it and let me know if it works for you via the forum thread.

4. Rahul kant
Posted March 22, 2013 at 12:20 | Permalink

hello sir,
i would like to know the full working of your awesome software. actually i’m trying to solve time delay problems using fractional order controllers and in that regard your software stands best but due to not much knowledge i’m unable to do much. help me out. i would like to know how to use pid controller with time delayed systems.

• Posted March 22, 2013 at 13:15 | Permalink

Hello!
If the system you are trying to control has a significant I/O delay, consider using a Smith predictor. There are freely accessible papers on the topic, for instance

In the latter, a FOPID controller is used. In order to tune the controller, you may use the “Simulate in Simulink” feature in the fpid_optim tool, just construct a suitable Simulink diagram (note, that the internal names of the FOPID controller, saturation block, reference signal, and ports must not be changed on the diagram!)

5. Abazar
Posted April 1, 2013 at 11:00 | Permalink

Dear Aleksei,

Thanks a lot for your worthwhile efforts regarding this toolbox. I have a complicated model with s-function and I want to control my plant with FOPID controller. As I could not tune the FOPID controller with your toolbox I decided to use PSO algorithm to tune. However, every time that I run the system the Matlab/Simulink will give this error

“Derivative input 1 of ‘Non_linear/Fractional PID controller/Fractional derivative1/Transfer Fcn1’ at time 0.05200000000000001 is Inf or NaN. Stopping simulation. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances).”

I tried to reduce the step size, changing the solver but only the time that error occurs will change.

I also changed the plant to a simple gain but the same error will be observed.

Best regards,

Abazar

• Posted April 1, 2013 at 15:10 | Permalink

Dear Abazar,

This problem is related to the implementation of the fractional derivative block. I would appreciate it if you reported this issue here: http://bugs.fomcon.net/

For now, you may try to limit the value of the order of the fractional derivative $s^{\alpha}$ to be $\alpha \le 1$.

• Abazar
Posted April 1, 2013 at 18:38 | Permalink

Dear Aleksei,

Actually the order for alfa is already 0.9933 and lambda is 0.395. However, I have the mentioned error.

P.S. I reported the problem in the specific website that you mentioned.

• Posted April 1, 2013 at 19:16 | Permalink

Thank you. I will look into the issue as soon as I can.

Just in case, which version of MATLAB/Simulink are you using?

• Abazar
Posted April 2, 2013 at 04:40 | Permalink

Thanks in advance, Version is 7.5.0.342 (R2007b). How about simply using Fractional-order transfer function block:
s^{1.4}+s^{0.8}+1
—————–
s^{0.8}
instead of FOPID 0.6=mu, 0.8=lambda in Simulink ? Is there anyway to do this?

Best regards,

• Posted April 2, 2013 at 10:58 | Permalink

You could try this. The fractional-order transfer function block, at this point, expects the polynomials to be supplied as strings. The FOMCON-specific fracpid() and poly2str() functions may be useful to automatically generate the corresponding polynomials of the FOPID controller.

• Posted April 2, 2013 at 13:45 | Permalink

It would also be very helpful if you could supply the model which upon simulation produces the aforementioned problem.

6. David sharipova
Posted April 4, 2013 at 12:11 | Permalink

hello…I have interested identification fractional order system…I need data in frequency domain…

• Posted April 4, 2013 at 12:41 | Permalink

You can create such experimental data in MATLAB. Try for instance
sys=rss(10,1); w=logspace(-3,3,100); r=squeeze(freqresp(sys,w)); fid1 = ffidata(r,w);
This will create a random single input, single output linear, time-invariant system as well as a frequency-domain identification dataset in the frequency range (0.001, 1000) rad/s. You can then investigate the fractional-order properties (if any) of this system by identifying a fractional-order transfer function from the generated data by means of the fotfrid tool.

7. muralidhar
Posted April 26, 2013 at 19:03 | Permalink

Dear aleksei,
Thanks for developing such a good software regarding fractional order systems. i m facing difficulties in tuning the parameters of fractional order PID controller in simulink by GUI models. these are the errors occurring while im running the program “Error while evaluating uicontrol Callback”,”@(hObject,eventdata)fpid_optim(‘btnOptimize_Callback’,hObject,eventdata,guidata(hObject))
“.please refer to it and let me hear the solution.

• Posted April 27, 2013 at 12:15 | Permalink

Please provide the full text of the error. You can also report this problem on the forum.

• muralidhar
Posted April 29, 2013 at 09:04 | Permalink

these are the errors listed below when in trying to run the GUI models,Please refer it and let me hear the solution……………………….

Attempt to reference field of non-structure array.

set(handles.txtLam, ‘Enable’, expEnable);

Error in gui_mainfcn (line 96)
feval(varargin{:});

Error in fpid_optim (line 24)
gui_mainfcn(gui_State, varargin{:});

Error in

Error while evaluating uicontrol Callback

Attempt to reference field of non-structure array.

set(handles.txtLam, ‘Enable’, expEnable);

Error in gui_mainfcn (line 96)
feval(varargin{:});

Error in fpid_optim (line 24)
gui_mainfcn(gui_State, varargin{:});

Error in

Error while evaluating uicontrol Callback

• Posted April 29, 2013 at 09:48 | Permalink

Which version of MATLAB are you using?

• Posted April 29, 2013 at 12:35 | Permalink

Are you trying to launch the GUI from the .fig file? The Fractional-order PID controller optimization tool should generally be launched using the fpid_optim command (or from other FOMCON graphical user interfaces in connection to a particular workflow).

• muralidhar
Posted April 29, 2013 at 12:43 | Permalink

yeah im launching GUI from .fig file.then what is the purpose of the .fig files in GUI folder

• muralidhar
Posted April 29, 2013 at 13:52 | Permalink

Dear Aleksei
yeah im launching GUI from .fig file. Im Requesting you to explain the purpose of the .fig files in GUI folder…

• Posted April 29, 2013 at 14:06 | Permalink

MATLAB .fig files contain the general layout of the graphical user interface as well as basic properties of control elements. In MATLAB, user interfaces share the same underlying display mechanism as regular figures (function plots, etc.). GUI logic, however, is stored in corresponding .m files. In this case, there are two files: fpid_optim.fig and fpid_optim.m. The first one tells the MATLAB interpreter where the control elements of the GUI are located and what basic properties they have. In the second one, particular functional implementations for user actions are defined, e.g., if you press the “Optimize” button it will trigger a callback of a function in the fpid_optim.m file.

• muralidhar
Posted April 30, 2013 at 08:05 | Permalink

Dear Alekesi
I appreciate for your patience and Thanks for explaning such a valuble information
Thanks

8. muralidhar
Posted April 26, 2013 at 20:06 | Permalink

and also FPID optimization tool, when i execute this function its returning a table name FPID optimization tool in that table there are there are values to enter. how this table works? pls explain……..

9. mural
Posted May 1, 2013 at 09:35 | Permalink

by using integer order plant model transfer function, im trying to run fpid_optimfun function but its returning the error listed below

Undefined function or variable “Z_p”.

Error in fpid_optimfun (line 82)
[y, ~, t] = fpid_optimize_sim([Kp,Ki,lam,Kd,mu], …

Error in optcheq3 (line 33)
z = fpid_optimfun(x,G,opt)

• Posted May 1, 2013 at 11:18 | Permalink

The transfer function you are using should be present in the workspace, e.g. suppose you have a variable G1 which is a state-space LTI model. Then, enter G1 into the LTI system field in the fpid_optim tool.

• mural
Posted May 1, 2013 at 12:00 | Permalink

im doing the same procedure as you replied to me ,sorry to say this sir,but for fractional order transfer function as plant model it is working fine but when it comes to integer order transfer function as plant model its showing the above mentioned error……..

• Posted May 1, 2013 at 12:27 | Permalink

Can you provide the transfer function model causing the error?

10. mural
Posted May 1, 2013 at 12:33 | Permalink

G=tf([0.8 0.5 ],[2.2 0.9 0])
this is the model of transfer function
this is the transfer function im calling from workspace

11. rajinikanth.m
Posted June 5, 2013 at 10:01 | Permalink

dear sir,
i am doing research on fractional order pid controller. i am using this toolbox to design fractional pid controller in matlab 2012 version. to get the step response of fotf it showing the error as below.

Undefined function ‘varexists’ for input arguments of type ‘char’.

Error in fotf/lsim (line 22)
if varexists(‘pbar_show_’) && evalin(‘base’, ‘pbar_show_’)

Error in fotf/step (line 16)
y=lsim(G,u,t);

>> step
Error using step (line 12)
Not enough input arguments.

more over it is not supporting to get impulse response also.

regards
rajinikanth.m

• Posted June 5, 2013 at 10:15 | Permalink

Dear Rajinikanth.M

Please make sure that all of the FOMCON toolbox folders and subfolders are on MATLAB path.

Posted July 12, 2013 at 14:21 | Permalink

can i use it for fractional sliding mode control

• Posted July 14, 2013 at 13:04 | Permalink

At this time, the toolbox provides tools to work with linear systems and controls. You may, of course, use the FOMCON Simulink library to construct sliding mode controllers using the fractional derivative blocks.

Posted August 8, 2013 at 08:50 | Permalink

Is there a method for solving nonlinear equations?
I had trouble finishing my thesis!

• Posted August 9, 2013 at 09:18 | Permalink

Solving nonlinear equations can be done numerically in Simulink.

Posted August 15, 2013 at 22:01 | Permalink

Thanks a lot Aleksei
If I have my Simulink model files, Can I use the fractional derivative blocks in my model?

• Posted August 20, 2013 at 16:50 | Permalink

Yes; however, care must be taken in ensuring that an appropriate solver is chosen for simulation, especially so in case of complicated models.

• Posted August 22, 2013 at 17:20 | Permalink

I test the fractional block in simulation result with glfdiff(y,t,γ ) function in matlab code but The answers were different. why?

• Posted August 23, 2013 at 13:34 | Permalink

Could you provide more detail about how you compared the two results?

Posted August 23, 2013 at 19:39 | Permalink

Igot derived from sin(t) by the function glfdiff(y,t,γ ) Also in the simulink by fractional derative block derived from it, but I had different answers.

• Posted August 27, 2013 at 20:36 | Permalink

The fractional derivative block uses the Oustaloup approximation method for computing the response to a signal while glfdiff(.) is a method based on the Grünwald-Letnikov approach. The methods are compatible within a (possibly short) history, so both methods have to give the same result with some tolerance.

Posted August 29, 2013 at 12:33 | Permalink

thanks aleksi
I used it for fractional sliding mode controller on fractional plant but for fractional sliding mode controlleron integer plant , initial value is not defined for a fractional integrator and answer is not correct.

Posted August 29, 2013 at 19:12 | Permalink

The model can be used with both integer and non-integer block?

• Posted August 30, 2013 at 04:15 | Permalink

Which model?

Posted August 30, 2013 at 22:05 | Permalink

for example a sliding mode controller model can be The combination both integer and non-integer block.

• Posted August 31, 2013 at 18:49 | Permalink

Yes, it should work.

13. Mervin
Posted July 18, 2013 at 10:04 | Permalink

Dear Aleksei,
This seems to be a very useful software in working with fractional order systems and controllers
I tried converting a fractional order transfer function into its respective statespace form by using “tf2ss.m” (by changing the current working folder to @fotf inside which i have ” tf2ss.m” ) this function.I got this error
“Error using tf2ss (line 34)
Not enough input arguments.”On checking the error it refers to the default matlab function file “tf2ss.m” which means both functions are in same name but with different input arguments.

So i changed the function name inside the “fotf” folder to “tf2ssfr” and tried simulating…I got another error
Undefined function ‘fix_s’ for input arguments of type ‘double’.

Error in fotf/comm_order (line 17)
a1 = fix_s(100*a);

Error in fotf/tfdata (line 12)
q = comm_order(G);

Error in fotf/tf2ssfr (line 7)
[num,den,q] = tfdata(G);”

So i also picked up the function files “fix_s.m”, ‘”fix.m”(referring inside “fix_s.m”) and plcaed it inside the “fotf” where my current working directory is set..but still i am getting the same error.

Also i would like to have a tool that could convert fractional order transfer function to corresposnding discrete transfer function.

Can u suggest me of how to get this solved.

14. Mervin
Posted July 18, 2013 at 19:03 | Permalink

Dear Aleksei,
This tool is very useful to work with Fractional order systems and controllers.I have a problem in converting fractional order transfer function model to state space form.I called the “tf2ss” (placed inside the @fotf folder)function in script after changing the current working directory to the path where “@fotf” is located but it is referring an error as shown below

“Error using tf2ss (line 34)
Not enough input arguments.” This error refers to the “tf2ss” function refers to the default continuous time transfer function model to state space conversion .I tried changing the file name to tf2ssfr as well the function name . In that case it shows another error referring “fix_s.m” is under defined. Although I placed “fix_s.m”,”fix.m”(The function file referred inside fix_s.m) and tf2ssfr.m all files under “@fotf” in my current working directory.But still the task s not executed.

Also I am in need of a code to convert fractional order transfer function models to their respective discrete time models on urgent basis.

So can u let me how to get this problem solved.

• Posted July 20, 2013 at 09:54 | Permalink

tf2ss() as implemented in FOMCON will only work with a fotf class variable. Example: enter the following in MATLAB: loadsets; tf2ss(G2). Does this work?
Also, FOMCON does not currently offer discrete fractional system support. You can, however, use discrete integer-order approximations, if you wish.

15. Emmanuel A. Gonzalez
Posted September 3, 2013 at 14:37 | Permalink

This toolbox is a fantastic addition to the available toolboxes for fractional-order systems. Good job to the team!

16. muralidhar
Posted September 5, 2013 at 20:04 | Permalink

Dear Aleksei,
by using fopid_optim gui tool and after optimization is completed, the results are displaying in terms of gain margin and phase margin.can you explain about these margins i.e, whether these margins corresponds to plant or controller or total closed loop system.

• Posted September 6, 2013 at 11:22 | Permalink

The gain and phase margins are derived from the open-loop frequency response of $C(j\omega)G(j\omega)$, where $C(\cdot)$ is the controller transfer function and $G(\cdot)$ is the plant transfer function.

17. mural
Posted September 11, 2013 at 08:59 | Permalink

Dear Aleksei,
in the fpid_optim GUI tool ,on what basis the gain margin,phase margin ,noise and disturbance rejection and gain variation robustness options showed in the GUI are taken. whether it taken from open loop plant frequency response?

18. mural
Posted September 11, 2013 at 11:15 | Permalink

Dear alekesi
kindly tell me which chapter to refer from the book you mentioned above

• Posted September 11, 2013 at 12:19 | Permalink

Chapter 7. The the implementation of what is described there is slightly different in the FOPID optimization tool. For instance, we have the “Critical frequency and gain variation robustness” settings in which you should specify the required critical frequency $\omega_c$ and also $\omega_h$ which is the highest frequency such, that the open-loop phase response of the control system in the range $(\omega_c^2/\omega_h, \omega_h)$ be flat.

• Posted October 8, 2013 at 08:10 | Permalink

In the upcoming version of the toolbox (0.4a), the behavior of the “Gain variation robustness” criteria has been changed: it will be enough to set only the critical frequency (phase flatness property will be considered by the tool automatically without the need to specify any additional frequency range).

19. mural
Posted September 11, 2013 at 12:51 | Permalink

Dear Aleksei,
i want to design a fractional order controller for integer order plant. please tell me the appropriate tool in fomcon(except fpid_optim GUI tool).

• Posted September 11, 2013 at 14:43 | Permalink

No other tool is available for this purpose at this time.

• mural
Posted September 12, 2013 at 08:09 | Permalink

thank you aleksei

• Posted September 12, 2013 at 13:04 | Permalink

There are, of course, plans to prepare a much more elaborate tuning tool within FOMCON. Unfortunately, it will not make this year’s update of the toolbox that is due end of September.

20. muralidhar
Posted September 12, 2013 at 12:11 | Permalink

Dear Aleksei
i want to know, generally how many iterations should be done in fpid_optim GUI tool

• Posted September 12, 2013 at 13:01 | Permalink

The number of iterations generally depends on a few factors like, for instance, the initial set of the FOPID controller gains/powers. Sometimes it is simply not possible to find a controller under the constraints provided by the user. The optimization algorithm may or may not stop automatically, that is why it is possible to limit the number of optimization steps (iterations).
For example, if a poor initial point on the FOPID controller parameter space is chosen—that is, such, that leads to a local minimum of the performance index objective, then, depending on the optimization log that is output to the MATLAB command window, the user may wish to terminate the optimization process and choose another point—though currently this is only possible by using CTRL+C key combination.

21. muralidhar
Posted September 19, 2013 at 10:42 | Permalink

Dear Aleksei,
in fotfid gui tool, in option Source data structure, FIDATA coloum is not taking any model. please explain FIDATA object and how to enter a model in FIDATA object coloum? wheathr it takes from direct from workspace

• Posted September 19, 2013 at 13:49 | Permalink

Yes, the relevant fidata object must already be present in the workspace. You can also refresh the list once such objects are added/removed. Since we are dealing with SISO systems, in order to create the object you will need 1) experimental input vector $u$; 2) experimental output vector $y$; and 3) regularly spaced time instance vector in form $t=[0; t_{max}]$. Then you can create a fidata object id1 by using id1=fidata(y,u,t).

22. Ammar
Posted October 4, 2013 at 03:04 | Permalink

dear sir
i am interested in fractional PID controller implementation and try to realize the controller using Fomcon and try the fpid_optim gui ,its work properly but my question is that when we optimize step response show excellent improvement but when we take values and realize the controller in state space form its become huge matrix with nearly 38 states which is vary difficult to implement ,my question is how to reduce its order and states i check the model of DC motor a research paper already implemented using fractional order controller ,but the order is higher to implemented practical kindly guide me how to realize it practically
thanx

• Posted October 4, 2013 at 19:06 | Permalink

Dear Ammar,
It is possible to implement this controller as a digital filter, e.g. IIR. It seems that Oustaloup’s recursive filter, the order of which you can set (it is $2N+1$ in FOMCON when the order of approximation is $N$), can be used to compute continuous-time zeros and poles. Then one may use a suitable discretization method. See the impid tool in FOMCON.

• Ammar
Posted October 5, 2013 at 20:17 | Permalink

dear sir thanks a lot i tried and check the results the state space model is reduced enough but when we plot transfer function in impid it becomes huge number of poles and zeros than how its state space model is such reduced.
secondly how to choose the value of N for a system?

• Posted October 7, 2013 at 12:19 | Permalink

There is a paper by Prof. Alain Oustaloup of the CRONE research group: “Frequency-Band Complex Noninteger Differentiator: Characterization and Synthesis”. You may find several equations there relating the order $N$ to the desired characteristics of the approximation. The one that you may be interested in is the following $$N=\frac{\log{\omega_N/\omega_0}}{\log{\alpha\eta}}.$$
Here, $\alpha$ and $\eta$ are called recursive factors and $\alpha\eta>1$ is the constant ratio between consecutive zeros/poles. Other parameters involved in the calculation of $N$ in this case are $\omega_0=\alpha^{1/2}\omega_u$, $\omega_N=\eta^{-1/2}\omega_h$, and $\omega_u=\sqrt{\omega_b \omega_h}$ for the frequency range of approximation $(\omega_b, \omega_h)$.

23. ahmed
Posted October 8, 2013 at 17:57 | Permalink

dear sir
i have probleme with the closed-loop step reponses with the FO-[PI] controller,the first ordre plus time delay system P(s)=exp(-Ls)*(1/Ts+1) and the controller C(s)=(kp+ki/s)^lamda.
thanx

24. Posted December 18, 2013 at 13:48 | Permalink

sir i am doing project in fopid i want the method to find out lamda(integral term) and delta(derivative term) can u give me suggestion as early as possible as i have strucked with that.thanking you

25. Posted December 18, 2013 at 18:13 | Permalink

sir i am doing project on fopid. can u help me in finding lamda(integral term) and delta(derivative term) and give me resources how to find out the terms please as my project stopped due to that……thanking you

26. Posted December 19, 2013 at 15:04 | Permalink

dear sir,
i am doing project on fopid, but i was strucked at finding the parameters lambda and delta can u please help in finding this i will be thank full to you..

• Posted December 20, 2013 at 18:30 | Permalink

You may use the FPID Optimization tool: fpid_optim

27. simsim
Posted February 20, 2014 at 03:48 | Permalink

Hi,
I am a beginner in FOPID. Exactly I don’t know how to use fomcon toolbox in MATLAB7.I mean I want to use a FOPID controller for a 1st order system and want to see the difference between integer PID response and non-integer PID response and compare the both.fpid_optimize simulink is not opening at all.Please advise.

Thanks.

• Posted February 20, 2014 at 10:41 | Permalink

Hello,
Exactly which version of MATLAB are you using? FOMCON may not work in early 7.x versions.
First, make sure you have FOMCON properly installed—that is you have it copied into a stationary directory, added all FOMCON folders/subfolders to MATLAB path and saved the path for future sessions. Then, type fpid_optim in MATLAB. A GUI should then appear. You can work with FOPID optimization from there.
If you would prefer to write scripts, use the command-line version of the optimization tool. It is, as you have correctly pointed out, run from a function fpid_optimize(). Please read the docs on how to use it. Several other data structures are needed for it to work correctly.

• simsim
Posted February 25, 2014 at 16:26 | Permalink

Thank You Very much Sir…I used R2010a Matlab & I am now able to find the FOTF viewer and so on…I will get back if I get further queries…

28. sakthi
Posted February 28, 2014 at 08:09 | Permalink

Dear Aleksei
i have to design fractional order pid controller for two area AGC (automatic generation control) under deregulated power system. i am using fomcon toolbox, in which i had used fractional pid blocks from fod.mdl model. i am very new to this. problem is that i don’t know how to optimize or tune the parameters of fractional pid (kp,ki,kd,lamda,mu). looking forward to your reply.

• Posted March 1, 2014 at 15:22 | Permalink

Kindly refer to the book: https://fomcon.net/fo/overview-of-literature/
and references therein.

• sakthi
Posted March 4, 2014 at 06:46 | Permalink

Thank you for your replay sir

• sakthi
Posted March 7, 2014 at 07:29 | Permalink

Dear Aleksei
I had used fractional pid blocks from fod.mdl model. In that block, masked LTI consist “G1”. Is “G1” is the transfer function of the whole plant ?

• Posted March 7, 2014 at 09:12 | Permalink

In Simulink, Oustaloup approximation is used in all FOMCON blocks. Which one do you mean in particular? The continuous FOPID is comprised of fractional-order operator blocks, while the discrete-time one uses a single LTI approximation of the controller.

• sakthi
Posted March 10, 2014 at 08:47 | Permalink

Aleksei
I have used fractional order PID controller (continuous) block taken from fod.mdl for two area power system. To get better results i have to optimize it (kp,kd,ki,lamda,mu). when i tried to optimize fractional order PID block with PSO, i found error with passing the values to LTI block.
looking forward to ur reply sir

• Posted March 10, 2014 at 09:11 | Permalink

Kindly elaborate. How exactly are you passing the values and what sort of error are you getting?

• sakthi
Posted March 10, 2014 at 10:16 | Permalink

Sir,
I’ve used set_parameter function of MATLAB to pass the values generated in PSO to the simulink block.The error I’m facing when i simulate the mdl file is ‘annotation does not have a parameter’

• Posted March 10, 2014 at 15:17 | Permalink

I am using MATLAB R2012b to do the following: (1) Create a new model “test_sp.slx”; (2) Drag a “Fractional PID controller” block from the FOMCON library onto it; (3) Issue the following command in MATLAB: set_param('test_sp/Fractional PID controller','Kp','3.14'). The result is that the value of $K_p$ inside of the FOPID controller block changes to $3.14$. Is this similar to what you are trying to achieve?

• sakthi
Posted March 11, 2014 at 06:16 | Permalink

Sir,
Thank you for explaining elaborately. I will try this and reply you soon

29. ehsan
Posted March 31, 2014 at 09:37 | Permalink

hi dear alexi,
i just need to calculate step response of fractional order system in matlab,in my mfile.
really i need to know whats the command of this calculate.
and also need to calculate step response characteristic like overshoot and… .
is fomcon do this for me?
thanks to your help so much.

• Posted March 31, 2014 at 11:09 | Permalink

Depending on the complexity of your system I would suggest using Oustaloup approximations (function oustapp() in FOMCON, type help oustapp in MATLAB command line for details). You will then get an approximation of your fractional-order system in terms of a conventional LTI system. The Control System function step() can then be used which provides a bunch of information about step response characteristics. It is, of course, vital to choose suitable approximation parameters.

Here is an example you may try in FOMCON.

loadsets; % Load example systems
Z2 = oustapp(G2); % Convert second system to i/o LTI
step(Z2); % Use CS Toolbox to plot the response
hold on;
step(G2,0:0.01:50); % Response of original fractional system


Notice, that overshoot information etc. is only provided for the LTI approximation.

You can also “export” fractional-order transfer functions as Oustaloup filter LTI objects directly from the FOMCON front-end (launch it by calling either fotf_gui or fomcon from MATLAB.)

30. s,vamsi
Posted April 14, 2014 at 09:15 | Permalink

how to load parameters to subsystems of interger order andderivative order in simulink block

31. sakthi
Posted April 21, 2014 at 12:05 | Permalink

thanks a lot for your help sir. I had done my PG project successfully.

32. Hala
Posted May 9, 2014 at 09:59 | Permalink

Dear Aleksei,
I have tried the following transfer function
G = fotf([2 1 -5], [1.7 0.3 0], [1 1], [0.5 0], 5)
Undefined function ‘fomcon’ for input arguments of type ‘char’.
Error in fotf/display (line 5)
config = fomcon(‘config’);
note (I used matlab version 8.1.0.604)

• Posted May 9, 2014 at 10:13 | Permalink

Dear Hala,
This is most likely due to the fact, that the fomcon function is currently not on the MATLAB path. Please make sure that you add all of FOMCON toolbox folders onto MATLAB path and that you save the path afterwards.

• Hala
Posted May 9, 2014 at 11:03 | Permalink

Dear Aleksei,
Thank you very much for the help and best regards .

• Ma Long
Posted February 1, 2015 at 03:28 | Permalink

Dear Aleksei,
I am coming across the same problem, and I still can not solve it. I just download your fomcon 4.1beta version, when I try this syntax , it shows the error information. The FOMCON toolbox folders have been added onto MATLAB path. My Matlab version is 2012 .a and 2013.a.

• Ma Long
Posted February 1, 2015 at 03:46 | Permalink

I am sorry to trouble you. I have my problem solved. 3x

33. anitha
Posted May 31, 2014 at 08:21 | Permalink

sir,
how to drag a fpid from fomcon library as mentioned in for comment posted on march10,2014…can you explain..when fomcon library is opened,i.e FOTF viewer page is opening..what should I do to create a fractional order pid block?

• Posted June 3, 2014 at 07:36 | Permalink

Use the Simulink Library Browser and locate the FOMCON library in the left pane. Then create a new model and drag the block onto it:

• anitha
Posted June 9, 2014 at 17:27 | Permalink

sir,whenfpid I open the fomcon toolbox,as you have shown,i could find only two blocks both being discrete fpid.I didn’t find the other blocks as shown in the image.Iam using matlab 2009 version..Is the problem with this version.please suggest
thnking you

34. anitha
Posted June 9, 2014 at 17:27 | Permalink

sir,when I open the fomcon toolbox,as you have shown,i could find only two blocks both being discrete fpid.I didn’t find the other blocks as shown in the image.Iam using matlab 2009 version..Is the problem with this version.please suggest
thnking you

35. anitha
Posted June 10, 2014 at 07:03 | Permalink

thank you sir..

36. Sakshi
Posted June 20, 2014 at 13:43 | Permalink

Sir,
Is the toolbox compatible with Matlab 7.10.0 (R2010a)? When I am using the fomcon gui it gives error and doesnot simulate. Even the example
G1 = fotf([1 1], [0.5 0], 1, 0);
G2 = fotf([1 1 1], [2.5 1 0], [1 1], [0.3 0]);
G3 = fotf([1 1], [0.1 0], 2, 0);
G4 = fotf([15 1], [1 0], 1, 0);
G = feedback(G1*(G2-G3), G4);

gives error:
??? Reference to non-existent field ‘ioDelay’.

Error in ==> fotf.plus at 13
if G1.ioDelay == G2.ioDelay

Error in ==> fotf.minus at 13
G=G1+(-G2);

37. Anupam kumar
Posted September 6, 2014 at 17:54 | Permalink

I am a research scholar doing a research in fraction order control with fuzzy logic control for liner and non linear process. so i am in need of the above discussed tool box for my work. it is possible for me to work your tool box with fuzzy logic toll box and How?

• Posted September 8, 2014 at 07:21 | Permalink

See, e.g., the following paper.

• Anupam kumar
Posted November 6, 2014 at 08:02 | Permalink

sir,

• Posted November 6, 2014 at 10:24 | Permalink

I have fixed the link. Try it again.

• Anupam kumar
Posted November 14, 2014 at 06:57 | Permalink

thank you sir.

I read this papers. I am very thank full if you tell, how to implement fuzzy logic tool box with your tool box (FOMCON). Please tell me how to implement it.

38. Amar
Posted September 19, 2014 at 00:37 | Permalink

dear sir
suggest me some book which is available on net about the fractional order controller and its basics ,this book u suggest is costly,and not available in library
and guide how to design a fractional order pid controller with out using fomcon ,mean how i implement on paper and how to tune ,

• haysli
Posted November 21, 2014 at 12:14 | Permalink

Ammar,

Can you communicate me your mail or other in order to send you the numeric version of the book ??

39. s.nandhini
Posted October 11, 2014 at 15:03 | Permalink

I am doing project on “Design of fractional Order PID controller for AVR system using PSO” how can i relate coding with simulink to get (kp,ki,kd,mu,lamda) like that of tracklsq command used in PID controller.how can i write coding to get parameters.please sir help me in this please.

• Posted October 12, 2014 at 09:02 | Permalink

I do not understand your problem. I have never used tracklsq, so I cannot help you with that.

40. Hamed
Posted November 13, 2014 at 20:21 | Permalink

Hello sir
I have the fod_r2009,but what did you said,was not shown at the library of matlab simulink…
What should I do???
I have matlab 2012.
thanks a lot…

• Posted November 13, 2014 at 21:34 | Permalink

• hamed
Posted November 16, 2014 at 03:26 | Permalink

Thanks for previous help…

when I want to use Discrete FPID OPTIM controller at fod.mdl,matlab show an error by this title, ,,error invoking object method,,What shoud I do???

• Posted November 16, 2014 at 11:22 | Permalink

Report as much details as you can, including MATLAB version.

• hamed
Posted November 24, 2014 at 13:47 | Permalink

MATLAB 2012a (7.14.0.739)
64 bit
february 9,2012
I use 041-Beta
When I want to use the OPTIM Box,this error is represented…

”erorr invoking object method”

• Posted November 25, 2014 at 09:56 | Permalink

Include the full text of error.

41. haysli
Posted November 21, 2014 at 12:54 | Permalink

Dir Aleksei,

I have Matlab R2009b version, i download “fod.mdl” for this version of Matlab, but i can’t make it work. Is it necessary to copy “fod.mdl” in the toolbox of Matlab (c:/program files/matlab/R2009b/toolbox/fomcon) ?? and in what subfolder (of fomcom folder) i must save ?
Thank you to describe me all necessary steps to properly use this model because I am a beginner in Matlab.

• Posted November 21, 2014 at 13:51 | Permalink

Unfortunately, the Simulink library in the current release will not work in R2009b.

• Posted November 21, 2014 at 13:54 | Permalink
• haysli
Posted November 21, 2014 at 16:52 | Permalink

Dir Sir,
Thank you for the quick reply. I simulate this model on an existing example and it works well.

Please, can you help me to find a tool to identify parameters of a FO-PID (Kp, Ki, Kd, lambda and mu) from parameters of a dc / dc converter ? otherwise a document ?

42. Shiva
Posted December 4, 2014 at 01:17 | Permalink

Hi

43. muralidhar
Posted December 4, 2014 at 08:05 | Permalink

Dear alekesi
how to approximate(implement) fractional order [PI]lamda controller and [PD]mu controller in to integer order

• ajmal ms
Posted December 21, 2014 at 08:18 | Permalink

use oustaloup reccursive approximation filter to obtain an equivalent transfre function exactly behaves like fractional oredr t.f

44. ajmal m s
Posted December 19, 2014 at 10:59 | Permalink

control1=fotf([1],[lam1],[1 Ki/Kp],[lam1 0]);
[numcontrol1,dencontrol1]=tfdata(control1,’v’);

this program part is not working.. showing the error that,
Error using fotf.tfdata
Too many input arguments.
wot should i do to solve this error. is ther any other command for tfdata?

• Posted December 21, 2014 at 13:09 | Permalink

You need not use tfdata in case of fotf objects. Just use the dot syntax, e.g. a = G1.a;
In the current release of FOMCON, the tfdata function has a different purpose.

• ajmal m s
Posted December 22, 2014 at 06:55 | Permalink

thanks for giving your valuable time. but unfortunatly i didint get u.
can u please say how to implement dot syntax instead for the use of tfdata. thank you

45. ajmal m s
Posted December 19, 2014 at 11:04 | Permalink

haysli,

can you send me the books for me too. it will be very kind of you. thank you
mail id: ajmal.meran@gmail.com

46. Kanagaraj
Posted December 21, 2014 at 11:55 | Permalink

Dear Aleksei,
In MATLAB R2012a i have implemented the FOMCON toolbox. can I import my experimental data (open loop) in “FOTF time-domin identification tool’ (GUI) to identify the model of my system. My system is Ist order with time lag. Kindly provide the details to import the experimental data in GUI tool for my system identification
Kanagaraj

47. Aypara
Posted December 26, 2014 at 21:12 | Permalink

Hello sir

48. Nikola
Posted January 12, 2015 at 19:57 | Permalink

Dear Aleksei,

I have function like this 1/(a*s+b)^alfa is there way to enter it in this form or to automatic convert it in suitable form for FOTF function?

• Posted January 12, 2015 at 22:23 | Permalink

Implicit transfer functions like this are not directly supported yet.

49. S.Priya
Posted February 13, 2015 at 07:21 | Permalink

Is there any general procedure to calculate the values of lambda and mu in fractional order controller? If so, send the details related to it.

50. Ramin
Posted February 18, 2015 at 13:48 | Permalink

Dear Aleksei
Does the proposed method for fractional system identification utilize output error approach for estimating parameters? I mean, you mentioned in your thesis that lsqnonlin is used for optimization with Trust-Region-Reflective Least Squares Algorithm. Is the function optimized by output error method?

51. vignesh
Posted March 6, 2015 at 07:04 | Permalink

hello sir iam a UG final year student doing project in fractional order modelling..i derived integer order transfer function for my process (kp/zps+1) of first order..how i convert it into fractional order transfer function…

• Posted March 6, 2015 at 08:37 | Permalink

In FOMCON, just do fotf(g), assuming g holds the above mentioned transfer function.

• vignesh
Posted March 10, 2015 at 12:15 | Permalink

sir i am UG student .i am doing approximation of integer order into fractional order modelling project.my transfer function is (3.09/11s+1)so i want find the value of s^alpa.

• Posted March 11, 2015 at 09:49 | Permalink

However, this is a very simple transfer function.

• vignesh
Posted March 11, 2015 at 12:14 | Permalink

sir , ok but how to find the value of s^alpa .I want procedure to find the alpa value

• Posted March 11, 2015 at 20:29 | Permalink

E.g., by means of time- or frequency-domain response error based FO model fitting.

• vignesh
Posted March 21, 2015 at 06:23 | Permalink

what are the values feed in FOTF viewer .

52. NagaKumar
Posted March 10, 2015 at 10:51 | Permalink

I am a Phd Scholar working with Fractional order controllers (PID). I want to use your FMCON tool box. but I dont know how to link with my existing MATLAB 2014 version. give me the procedural steps to link this with matlab simulink. plz do the need.

Posted March 10, 2015 at 17:11 | Permalink

Hi,
Would you mind letting know how we can calculate phase margin of a fractional order system using this toolbox?
Regards

54. senthil
Posted March 13, 2015 at 07:56 | Permalink

hi sir, iam doing project in fractional order modelling and fractional order control for my process for that i derived integer order model kp/zps+1 with time delay, my question is, how to find s^n value from the integer order transfer function it should be in the range of 0 to 1. so kindly give me the solution.

55. Ramin
Posted March 26, 2015 at 10:08 | Permalink

Dear Aleksei

In identifying fractional system, is it possible to estimate an integer order model using classic system identification structures such as ARX, ARMAX and so on, and then use the integer order model as an initial guess? is it a better way in comparison with guessing the initial system without prior knowledge?

• Posted March 26, 2015 at 11:00 | Permalink

How would you convert ARX/ARMAX to TF form? You will need the latter as starting point for identification of FOTF models, if I understood you correctly.
It definitely pays to have some a priori knowledge about the structure of the model. This knowledge can be extracted by inspection of the system dynamics.

• Ramin
Posted March 26, 2015 at 15:51 | Permalink

[numid,denid]=th2tf(ARMAX)
idsysz=tf(numid,denid,’sampling time’)
idsys=d2c(idsysz,’zoh’)
If I am not wrong, with implementing above command we can convert ARMAX to TF function.
So, it can be concluded that
(1) using classic system identification for determine the structure of model (it could be of any order)
(2) Assign (1) for initial guess
(3) Start fractional identification with (1)

• Posted March 27, 2015 at 10:12 | Permalink

All right, seems like a fair approach to solving the model structure problem to me.

56. Posted April 13, 2015 at 20:29 | Permalink

hello sir
I need codes to write fractional transfer function in MATLAB, would you please put it in the site?

57. Posted April 13, 2015 at 20:31 | Permalink

I have this code( not my own)
function G=fotf(a,na,b,nb)
if nargin==0,
G.a=[]; G.na=[]; G.b=[]; G.nb=[]; G=class(G,’fotf’);
elseif isa(a,’fotf’), G=a;
elseif nargin==1 & isa(a,’double’), G=fotf(1,0,a,0);
else,
ii=find(abs(a)<eps); a(ii)=[]; na(ii)=[];
ii=find(abs(b) class
The CLASS function must be called from a class constructor.

58. bahar
Posted April 13, 2015 at 20:47 | Permalink

hello
I want codes of writing fractional pid controller in MATLAB , i dont want to use simulink, how can i write it?

59. Ravi
Posted April 24, 2015 at 13:10 | Permalink

i am facing some problem related to real time simulation. i my designed controller effort gives 17. but i need 0 to 5 .
for that i set saturation block.but still have same problem.i request you to suggest me to sort out the problem.thanking you.

60. Steven
Posted April 28, 2015 at 20:19 | Permalink

I’m using the fractional order integral term to solve a differential equation,like Dy1=y2; Dαy2=-y1-y2; I hvae a problem when using the fractional order integral operator you design, that I don’t know where and how to set the initial value.As we know in the matlab simulink when we use integer order integral operator 1/s ,we should set the initial value at first.Can u give me some suggestion? Thank u!

• Posted April 29, 2015 at 09:22 | Permalink

Setting initial conditions for FO systems is not supported yet.

61. Dacheng
Posted April 29, 2015 at 18:02 | Permalink

Everything works fine until I try to extract the Real part and Imaginary part from the nyquist plot.
i.e. :

b = 1;
nb = 0;
a = [1 1];
na = [0.85 0];
SYS = fotf (a, na, b, nb);

I can do

nyquist (SYS, w);

but I cannot get

[Re, Im] = nyquist (SYS, w);

It says that

‘Error using fotf.nyquist
Too many output arguments.

Dose anyone have an idea? Thank you in advance!

• Posted April 29, 2015 at 18:28 | Permalink

The nyquist() function in FOMCON is not yet fully compatible with the syntax of the Control System toolbox function of the same name.
Currently, you have the option to do the following to get the same result as you want:
h = bode(SYS, w); [Re,Im]=nyquist(h);

62. Santosh Verma
Posted May 15, 2015 at 07:34 | Permalink

Hello sir,
i am working on fractional order system and using your FOMCOM toolbar. this is very useful for me. I want to convert a fractional order state space model into a fractional order transfer function. is there any specific command for this, like ss2tf in LTI system.

thanking you.

• Posted May 15, 2015 at 12:59 | Permalink

I guess that in your message you are referring to the FOMCON toolbox.
Since FOMCON does not yet offer full support for FO state-space models, the feature mentioned above is not available.

63. Saba
Posted May 29, 2015 at 15:49 | Permalink

dear Aleksi,
I want to use one of the optimization algorithm to find best parameters of fractional pid controller for a integer system. i have written transfer function of system in tf instruction and FOPID in fotf instruction(I receive error that Variables of type “fotf” cannot be combined with other models) now I want to estimate this controller in tf space, how can I do it? thank you

64. Fredy
Posted June 10, 2015 at 09:05 | Permalink

Professor:
I followed the instructions to download and install Fomcon in Matlab version 7.8.0.347 (2009a), however, I do not have Simulink toolbox. Which version should appear without problems?

65. Mengxiao
Posted July 31, 2015 at 13:08 | Permalink

Dear Aleksei,
Could I ask you a question? I want to get help from you.I want to know how to draw the two ‘impulse response’ curves in different colors?(use the’impulse()’command)
The following is my code,but it cannot work.
C1=fotf([1 5.604+0.1428 5.604*0.1428],[2 1 0],4.5455,0);
C=fotf(1,0.9800,[0.0095 0.9997 0.3373],[0.9800+0.9553 0.9800 0]);
impulse(C1,’r’,C,’g’)
Could you help me ? I will thank you fou your help!

66. N Gireesh
Posted August 6, 2015 at 07:35 | Permalink

Please help me how to obtain optimum values of the controller using PSO or GA for fractional order controller. If any program is there?

67. santosh
Posted September 7, 2015 at 08:42 | Permalink

hello sir,
i got a program in one of your paper as”FOMCON: Fractional-Order Modeling and Control Toolbox for MATLAB” which is given as:
t=(0:0.01:20)’; u=prbs(5,100,[0 1]);
u=u(450:length(t));
t=t(1:length(t)-449); y=lsim(G2,u,t)’;
but the command “u=prbs(5,100,[0 1]);” is not working properly it is showing an error as “Too many input arguments.”

• Posted September 7, 2015 at 10:37 | Permalink

You can generate the prbs7 signal in the new version of FOMCON using the refgen() class.

• santosh
Posted September 7, 2015 at 12:43 | Permalink

thank you sir for giving me your precious time.
what is mistake in the command “u=prbs(5,100,[0 1])”, and how how can i use refgen () class function in the replacement of prbs command in that program.

• Posted September 7, 2015 at 22:12 | Permalink

There is no mistake in that command. However, one needs to have the CRONE toolbox installed to use that particular implementation.

68. Shrivardhan
Posted September 9, 2015 at 05:57 | Permalink

Hello sir,
I am working on fopid and found your tool very useful,but while using fpid_optim tool I am getting following error. I think I am making very minor mistake but not identifying.
G=tf([9],[1 3 11 9])

G =

9
———————-
s^3 + 3 s^2 + 11 s + 9

Continuous-time transfer function.

>> fpid_optim
(%I am getting following errors:)
Reference to non-existent field ‘G’.

Error in fpid_optim>fpid_optim_OpeningFcn (line 40)
set(handles.txtPlant, ‘String’, toOpt.G);

Error in gui_mainfcn (line 221)
feval(gui_State.gui_OpeningFcn, gui_hFigure, [], guidata(gui_hFigure), varargin{:});

Error in fpid_optim (line 24)
gui_mainfcn(gui_State, varargin{:});

Error using close_system (line 39)
Cannot close the model ‘fpid_optimize_model’ because it has been changed. Use the command
‘save_system’ to first save the model

Error in fpid_optimize_sim (line 200)
close_system(modelName);

Error in fpid_optimfun (line 91)
[y, u, t] = fpid_optimize_sim([Kp,Ki,lam,Kd,mu], …

Error in fpid_optimize>@(x)fpid_optimfun(x,G,opt) (line 236)
x_opt = optimize(@(x) fpid_optimfun(x,G,opt), …

Error in optimize/funfncP (line 613)
obj_fval = funfcn(x_new, varargin{:});

Error in optimize>@(x)funfncP(X(x),varargin{:}) (line 393)
funfncT = @(x) funfncP(X(x), varargin{:});

Error in fminsearch (line 191)
fv(:,1) = funfcn(x,varargin{:});

Error in optimize (line 399)
[presol, fval, exitflag, output] = fminsearch(funfncT, xin, options,
varargin{:});

Error in fpid_optimize (line 236)
x_opt = optimize(@(x) fpid_optimfun(x,G,opt), …

Error in fpid_optim>fpid_optim_fpid_optimize (line 2274)
[Kp, Ki, Kd, lam, mu, Z] = fpid_optimize(fsim, fopt, G, usesim);

Error in fpid_optim>btnOptimize_Callback (line 306)
[Kp, Ki, Kd, lam, mu, Z] = fpid_optim_fpid_optimize(fsim, fopt, G, usesim,
handles);

Error in gui_mainfcn (line 96)
feval(varargin{:});

Error in fpid_optim (line 24)
gui_mainfcn(gui_State, varargin{:});

Error in
@(hObject,eventdata)fpid_optim(‘btnOptimize_Callback’,hObject,eventdata,guidata(hObject))

• Posted September 9, 2015 at 18:47 | Permalink

Please specify which version of MATLAB you are using. Also, does this problem occur in the current version of the toolbox (v1.0)?

• Shrivardhan
Posted September 10, 2015 at 09:11 | Permalink

I AM GETTING THIS ERROR WHEN I TICK -Use Simulink for simulation.
Otherwise it’s working.

• Posted September 10, 2015 at 19:01 | Permalink

Please elaborate. Specify exact steps you take to get this error message.

69. Shrivardhan
Posted September 10, 2015 at 19:41 | Permalink

Sir,
I am comparing output of system with conventional PID and fractional PID.
1)At first I made block diagram in SIMULINK with fractional pid controller and conventional pid controller with same transfer function on same scope using MUX.(Saved)

2)I tuned my conventional pid(Integer Order PID) with auto tuning method.

3)When I want to tune my FOPID ,I used fpid_optim and also created one variable G=
9
———————-
s^3 + 3 s^2 + 11 s + 9
4)Then I optimized my system with fpid_optim and I got this ERROR.

5)Then I deselected USE SIMULINK FOR SYSTEM SIMULATION and it worked giving me optimized Kp,Ki,Kd,lamda,mu results.

6)Then I manually copied results to simulink model and compared the results.

ERROR IS IN FOURTH STEP
Thank You…

• Shrivardhan
Posted September 14, 2015 at 06:13 | Permalink

Sir,I am waiting for your reply please let me know what mistake I am doing in above procedure?

• Posted September 14, 2015 at 22:12 | Permalink

It is possible that you did not close the Simulink window before running the optimization procedure. The model needs to be saved and the corresponding window closed, otherwise it does not work as intended.

• Shrivardhan
Posted September 21, 2015 at 08:52 | Permalink

Sir,
Still I am facing that problem after closing and saving model.I am putting the optimized value manually to simulink model.
Thank you.

70. carlos
Posted September 23, 2015 at 21:19 | Permalink

Dear Alekesi
suppose i have a controller of type ((1)/(s+5))^0.5
how can i approximate(implement) it.
if it possible please give the matlab prog for above controller.

71. n_nikdel
Posted January 9, 2016 at 18:37 | Permalink

Dear Aleksei,

Thank you so much for the great toolbox.

I have two questions:

1) Is the Simulink library compatible with Matlab 2011a abd 2011b versions?
2) How can I use fractional derivative blocks in the form of Caputo definition?

72. aft2016
Posted January 15, 2016 at 13:36 | Permalink

Dear Aleksei,

Great toolbox !! I have it all running in Simulink right now, but I would now like to implement a time-varying dynamic continuous fractional transfer function in Simulink with the blocks you have provided (i.e. 1/s^u, where ‘u’ varies as a function of time) . Currently, I can dynamically modify pole and zero coefficient values of the transfer function, but haven’t figured out a way to dynamically vary parameter ‘u’ in 1/s^u.

Can you possibly provide some guidance on how this would be implemented in Simulink ?

Cheers

73. kapilg
Posted March 14, 2016 at 10:51 | Permalink

dear aleksei sir
i have frac PD controller like this form

Gc(s)=kp[1+kds]^y (y=gamma like function .it is not alfa or lamda).

Gc(s)=(1.82*(1+13.48*s)^0.5) .so i want to plot bode plot of this transfer function using fomcon

how should i plot .because in toolbox only alpha and lamda values we can enter .im getting how to deal with this typw of tf .please help me . thank you

74. kapilg
Posted March 16, 2016 at 19:16 | Permalink

hell0 everyone ,
anyone please suggest me how to deal with fractional derivative block and fractional integer block .what is LTI system block and Transfer function block. my controller parameters are

kp=1.82,kd=13.48,mu=0.5,lamda=0,ki=1

thank u

75. kapilg
Posted March 17, 2016 at 19:35 | Permalink

Dear Aleksei,
i have fractional order tf and fractional order controller. i saw ur video but in video transfer function is not fractional order .im trying to optimize these but getting these error.

Error using ==> fpid_optim>fpid_optim_fpid_optimize at 2300
default.

Error in ==> fpid_optim>btnOptimize_Callback at 320
[Kp, Ki, Kd, lam ,mu, Z] = fpid_optim_fpid_optimize(fsim, fopt,
[], usesim, handles);

Error in ==> gui_mainfcn at 96
feval(varargin{:});

Error in ==> fpid_optim at 24
gui_mainfcn(gui_State, varargin{:});

Error in ==>
@(hObject,eventdata)fpid_optim(‘btnOptimize_Callback’,hObject,eventdata,guidata(hObject))

??? Error while evaluating uicontrol Callback

76. kapilg
Posted March 18, 2016 at 21:43 | Permalink

dear ALEKSEI

i got all answer to above problem that i posted by reading ur comments above .perviously i use matlab 2010 version but their for optimisation takes lot of time so for a change i install matlab 2013b .but now when im trying to optimise the pid value by using fpid_optim i get the following error .
Error using fpid_optim>fpid_optim_fpid_optimize (line 2300)
‘default’ is an invalid flag option

Error in fpid_optim>btnOptimize_Callback (line 320)
[Kp, Ki, Kd, lam ,mu, Z] = fpid_optim_fpid_optimize(fsim, fopt, [], usesim,
handles);

Error in gui_mainfcn (line 96)
feval(varargin{:});

Error in fpid_optim (line 24)
gui_mainfcn(gui_State, varargin{:});

Error in
@(hObject,eventdata)fpid_optim(‘btnOptimize_Callback’,hObject,eventdata,guidata(hObject))

Error while evaluating uicontrol Callback

one more thing in FPID optimization window .in that model .slx format i not visible though i have some .slx file .im waiting for ur answer .thank u

77. Palwinder
Posted March 22, 2016 at 07:46 | Permalink

hlo sir
i am optimizing tf=7906/s^2+2s+0.001 and it is giving the following error
Error using fpid_optim>fpid_optim_fpid_optimize (line 2300)
‘default’ is an invalid flag option

Error in fpid_optim>btnOptimize_Callback (line 318)
[Kp, Ki, Kd, lam, mu, Z] = fpid_optim_fpid_optimize(fsim, fopt, G, usesim, handles);

Error in gui_mainfcn (line 95)
feval(varargin{:});

Error in fpid_optim (line 24)
gui_mainfcn(gui_State, varargin{:});

Error in @(hObject,eventdata)fpid_optim(‘btnOptimize_Callback’,hObject,eventdata,guidata(hObject))

Error while evaluating uicontrol Callback

Can u plz help for solving this

thanku

78. Posted March 23, 2016 at 15:48 | Permalink

I am not able to reproduce the above mentioned problem. More information is needed.

79. Reza
Posted March 26, 2016 at 11:20 | Permalink

dear Aeksei

How can i compare tow systems with step plot with different color?
such as :
k1 = 0.4; T1 = feedback(G*k1,1);
k2 = 1; T2 = feedback(G*k2,1);
step(T,’b’,T1,’r’,T2,’g’)
legend(‘k = 0.7′,’k = 0.4′,’k = 1’)

I tried to do it, but there is an error :
??? Error using ==> fotf.step
Too many input arguments.

• Posted March 27, 2016 at 00:44 | Permalink

This is a general MATLAB question.
Use lsim() to obtain the step responses instead, and then use the plot() function as usual.

80. Reza
Posted March 27, 2016 at 19:17 | Permalink

That’s right.
Thanks.

• Posted March 27, 2016 at 23:23 | Permalink

Come to think of it, you can use the step() function in the way that I have outlined as well, just specify an output argument.

81. marir.saliha
Posted March 30, 2016 at 10:52 | Permalink

Dear Sir Aleksei,
I would like to thank you for all the positive contribution in the field of fractional caculuc.
I ask you to help me to plot the components of the state of the fractional system: Ed ^(alpha)* x (t) = Ax (t) + Bu (t).
alpha=1.23, E=[1 0 0.5;2 1 1;0 0 0],A=[2.4 0.2 1.2;4 1.5 2;0 0 0];B=[4 1;1 1;1 2] and initial conditions
x_0(0)=(0 0 1.5).

82. marir.saliha
Posted March 30, 2016 at 11:38 | Permalink

Excuse me, perhaps I have not choose the good example, because I would visualize that the system is not asymptotically stable.
Ed ^(alpha)* x (t) = Ax (t)
E=[1 0 0;0 0 0;0 1 0]; A=[0 0 0;0 0 1;-1 -1 0]; alpha=1.5; x(0)=(1,0,0).
I want to get the graphs x_1(t); x_2(t); x_3(t)

83. marir.saliha
Posted March 30, 2016 at 19:24 | Permalink

84. kapilg
Posted April 1, 2016 at 18:46 | Permalink

Dear Aleksei,

im not able to optimize the following fractional order tf

G1=(0.9-(0.12*s^0.74))

when im trying to optimize the pid value .it is not responding. i kindly request u to please optimize pid value for t above tf.im waiting for ur replay.

thank u

85. kapilg
Posted April 3, 2016 at 19:57 | Permalink

Dear Aleksei,

im not able to optimize pid values the following fractional order tf

G1=(0.9-(0.12*s^0.74)) using fpid_optim

when im trying to optimize the pid value .it is not responding. i kindly request u to please optimize pid value for t above tf.im waiting for ur replay.

Error using fpid_optimize_sim (line 204)
Derivative input 26 of ‘fpid_optimize_model/Fractional PID controller/FPID LTI/Internal’
at time 9.4611228444747757E-7 is Inf or NaN. Stopping simulation. There may be a
singularity in the solution. If not, try reducing the step size (either by reducing the
fixed step size or by tightening the error tolerances)

Error in fpid_optimfun (line 91)
[y, u, t, r] = fpid_optimize_sim([Kp,Ki,lam,Kd,mu], …

Error in fpid_optimize>@(x)fpid_optimfun(x,G,opt) (line 242)
x_opt = optimize(@(x) fpid_optimfun(x,G,opt), …

Error in optimize/funfncP (line 613)
obj_fval = funfcn(x_new, varargin{:});

Error in optimize>@(x)funfncP(X(x),varargin{:}) (line 393)
funfncT = @(x) funfncP(X(x), varargin{:});

Error in fminsearch (line 191)
fv(:,1) = funfcn(x,varargin{:});

Error in optimize (line 399)
[presol, fval, exitflag, output] = fminsearch(funfncT, xin, options,
varargin{:});

Error in fpid_optimize (line 242)
x_opt = optimize(@(x) fpid_optimfun(x,G,opt), …

Error in fpid_optimize_ (line 110)
[Kp, Ki, Kd, lam, mu, Z] = fpid_optimize(fsim, new_fopt, G, varargin{:});

Error in fpid_optim>fpid_optim_fpid_optimize (line 2300)
[Kp, Ki, Kd, lam, mu, Z] = fpid_optimize_(fsim, fopt, G, usesim);

Error in fpid_optim>btnOptimize_Callback (line 320)
[Kp, Ki, Kd, lam ,mu, Z] = fpid_optim_fpid_optimize(fsim, fopt, [],
usesim, handles);

Error in gui_mainfcn (line 96)
feval(varargin{:});

Error in fpid_optim (line 24)
gui_mainfcn(gui_State, varargin{:});

Error in
@(hObject,eventdata)fpid_optim(‘btnOptimize_Callback’,hObject,eventdata,guidata(hObject))

Error while evaluating uicontrol Callback

>>

86. santosh
Posted April 6, 2016 at 12:16 | Permalink

Hello Sir
I am working on fractional order controller design for fractional order system. while using the FOMCON toolbox i unable to draw the step response of 2 fractional order system simultaneously (like step(G1,G2) or bode(G1,G2) ) and i am also unable to calculate the settling time, rise time and other characteristics of the system (as stepinfo(G) is given for integer order in matlab.
kindly help.

• Posted April 6, 2016 at 14:10 | Permalink

There are a few additional steps you need to take. For example, choose a time interval t and do
y1 = step(G1,t);
and
y2 = step(G2,t);.
Then just plot(t,y1); hold on; plot(t,y2,'r');
As for stepinfo, just use the other syntax:
stepinfo(y1,t,dcgain(G1)).

87. Reza
Posted April 6, 2016 at 21:26 | Permalink

dear Aeksei
How can we use fractional order derivative or fractional operator in M-file?
Is it possible?

• Posted April 6, 2016 at 21:33 | Permalink

Of course. But for what purpose?

• Reza
Posted April 6, 2016 at 21:59 | Permalink

for example i have a equation, such as 5t^3+t^2-3t and i want to use fractional derivative for it.

• Reza
Posted April 6, 2016 at 22:29 | Permalink

Or we have a fractional system and we design it in M-file and we don’t want to use simulink.
for example fractional duffing.
I’m more curious to know how i use fractional operator in M-file.

• Posted April 6, 2016 at 23:14 | Permalink

You can use model and simulate FO systems using M files. Also note, that I have just released an update for FOMCON which provides initial support for MIMO systems by means of commensurate fractional-order state-space models.

88. kapilg
Posted April 7, 2016 at 08:31 | Permalink

dear aleksei
1] is it possible to optimize this tf (0.9-j*0.12*w^0.74) using fpid_optim.

2]how to convert continuous tf to fractional tf .is it possible.

waiting for ur answer .thank u

• Posted April 7, 2016 at 13:20 | Permalink

1) If what you mean is a plant that has the form $\frac{1}{0.9-0.12s^{0.74}}$ then yes.
2) Like this: fotf(G), where G is your tf model.

89. Palwinder
Posted April 7, 2016 at 11:13 | Permalink

Dear Aleksei
I have a non-linear model with s-function and I want to control my plant with FOPID controller. It is complicated model so i cannot tune parameters of FOPID with Fomcon optimization toolbox, I decided to use PSO algorithm to tune prameters.But every time when i run the system the Matlab/Simulink will give following error:

Derivative of state ’17’ in block ‘psoIAE/Fractional derivative/LTI System/Internal’ at time 0.715 is not finite.
The simulation will be stopped. There may be a singularity in the solution. If not, try reducing the step size
(either by reducing the fixed step size or by tightening the error tolerances).
I tried to reduce the step size , approximation order and also frequency range but only the time that error occurs will change.
Plz help me to solve this problem.
Thanku
Regards
Palwinder

• Posted April 7, 2016 at 13:27 | Permalink

Have you tried the suggested Simulink solver (ode23tb)?
Otherwise, fractional derivatives of order $\mu>1$ are notorious for such errors. As you may know, implementation of derivative components is problematic even in case of conventional systems. Here we are dealing with approximations of fractional derivatives which are usually marginally stable systems. Therefore, improper handling thereof usually results in (a) oscillating behavior; (b) singularities in the solution.

• Palwinder
Posted April 7, 2016 at 16:19 | Permalink

after changing the simulink solver , the problem is resolved

thanku sir

90. kapilg
Posted April 7, 2016 at 19:31 | Permalink

Dear aleksei,

thank u for ur comment . but i have only numerator tf 0.9-j*0.12*w^0.74 not 1/tf as u said above. and here i cannot consider jw as s. because as u see only w has power 0.74 not hole bracket. i read one paper to get frac pid values using phase margin specification . but doing maths is quite boring for me.ur toolbox is fantastic no need to do maths .so can u suggest me for above tf .is it possible to optimise it using fpid_optim .or any other method .looking forward to ur replay .
thank u

91. Reza
Posted April 9, 2016 at 19:22 | Permalink

Dear Aleksei
How can we create fractional MIMO systems and control it with fracpid() ?
I tried many time but i couldn’t!
Can You illustrate it with a 2*2 system?
Thanks

• Posted April 9, 2016 at 23:26 | Permalink

Newest release extends support for FOSS (“Fractional-order State-space”) objects. But it is only initial support: no delays, and no block diagram logic implementation for these systems yet. Use Simulink to make use of these (and other) features.

92. Reza
Posted April 10, 2016 at 13:37 | Permalink

How can i use simulink for MIMO?
Can you show me with an example?
Thank you very much.

• Posted April 10, 2016 at 21:52 | Permalink

There is a FO commensurate state-space block in the latest release of the library which uses Oustaloup approximations. Examples will come in due time. Look for scientific papers that deal with FO MIMO modeling and try the examples provided there.

• reza194332
Posted June 9, 2016 at 00:44 | Permalink

93. Palwinder
Posted April 11, 2016 at 15:09 | Permalink

Dear Aleksei
How i can tune parameters of FOPID controller using Ziegler-Nichols method. Can u plz explain or give some references.
Thanku

94. a7med8
Posted June 4, 2016 at 15:49 | Permalink

Dear sir

i added your toolbox and i typed Fomcon in command wind the GUI appears but when i try to open the simulink i found the fomcon toolbox in library browser but it’s library is empty PLZ what shall i do my matlab version 7.6.0(R2008a) if this compatibility problem which version i should to use.

Many thanks

95. Palwinder
Posted June 20, 2016 at 08:54 | Permalink

Dear Aleksei

I am getting below mentiioned problem in fractional derivative block. I running my model under fixed and using ode3(bogacki_shampine) solver. plz help me to solve this.
Derivative of state ‘1’ in block
‘fractional_fuzzy_pd/Fractional derivative/Transfer Fcn1’ at
time 1.4649999999999999 is not finite. The simulation will
be stopped. There may be a singularity in the solution. If
not, try reducing the step size (either by reducing the
fixed step size or by tightening the error tolerances)

thanku
regards
palwinder

• Posted June 20, 2016 at 09:18 | Permalink

This error is not exclusive to the application of FOMCON Simulink models. It usually means that you are dealing with an unstable system, whether due to unstable poles, or even due to the loss of computational stability.

96. santosh
Posted July 5, 2016 at 12:50 | Permalink

Hello sir,
I am working of Fractional order controller design in FOMCON toolbox. I have optimize the fractional controller by fpid_optim() GUI provided in the toolbox. the problem which i am facing with it is when i am applying this controller to my system, it does not gives the same response which i am getting during optimization.
kindly tell me the mistake which i am doing in my program below.
kp=1.0537;
ki=0.4418;
kd=0.2510;
lam=1.1122;
mu=1.0624;
c=fotf([1],[lam],[kd kp ki],[lam+mu lam 0])
N=5; w1=1e-3; w2=1e3;
g1=ousta_fod((lam+mu-2),N,w1,w2); g2=ousta_fod(lam-1,N,w1,w2);
pid=(kd*s^2*g1+kp*s*g2+ki)/(s*g2);
GFPID=feedback(G*pid,1); (Here G is open loop integer order transfer function of the system)
stepinfo(GFPID)

the desired spesifications are given below
tr=0.2223
ts=0.3037

• Posted September 5, 2016 at 14:41 | Permalink

You can compare the open-loop Bode plots of the control systems (i.e., Controller*Plant). If they are the same (or close), then the behavior of both systems should be very close.

• santosh
Posted September 13, 2016 at 14:51 | Permalink

Hello sir,
Sir I am comparing open loop at leas closed-loop both the behaviour …but result are different.
one more thing, is the result varies if some one using CRONE and i am using FOMCON toobox.

97. aburakhis
Posted September 3, 2016 at 22:08 | Permalink

BUT it doesn’t work and there is question mark on the boxes

98. mega460
Posted September 6, 2016 at 19:48 | Permalink

Dear Aleksei

First of all,thank you very much for all the instructions you give in this website. I am currently doing a work in my university about tunning FOPID and i was willing to use the fpidotim tool from FOMCON TOOLBOX as one of the options to tune FOPID controllers but i need to know how does the algorithm work, and where do i find references about it. Can you help indicate me where can i find such intructions and references?

Thank you once again
Regards
Rodrigo Aguiar

99. K_os
Posted September 30, 2016 at 07:07 | Permalink

Professor Alesei:
I have been working with FOMCON identification module in the time domain, to establish a model of a real system, of which I have gathered some experimental data.
For that, I have included data, as it is suggested in your masters thesis, creating object id, entering the arguments of my experimental data.
I also enter the module an initial model (for instance : S^0.5+2/s^1.5+1)) to execute a free identification. When I finish the simulation the output data are way far from the done identification. I have done this process with the different algorithms presented in the module, but the outcome is the same.

I would like to request your help, to know what step I might be missing. I had already mentioned that it works perfectly when I follow the examples matrix of my data and revise the case, ?

regards

Efredy

• Posted October 2, 2016 at 22:47 | Permalink

Please provide more information. What is the function that is used for generating the dataset (i.e., original function)?

• K_os
Posted October 4, 2016 at 07:16 | Permalink

Professor:
Initially, I worked in MATLAB 2012a . My results were obtained by experimental data and fixed in a general matrix, of which columns are input signal, output signal, and the sample time. From of these I take the information to establish:
t=training3((1000:2000),1);
I=training3((1000:2000),2);
V=training3((1000:2000),3);
id1=fidata(V,I,t);
fotfid
Then, I introduce the initial transfer function, but after I initiate the free identification, the results I get are still higher than how I expected them to be.
When I changed to matlab 2015a, the program doesn’t allow me validate results, it shows an error:
Elapsed time: 00:00:28
———————-
Residual norm: 3.5522e+05
Identification completed.

Operands to the || and && operators must be convertible to logical scalar values.
Error in mean (line 81)
if ~isobject(x) && isinteger(x)
Error in fidata/validate (line 42)
fitness = 100*(1-(norm(err))/(norm(id.y-mean(id.y))));
validate(idd,fs);
Error in gui_mainfcn (line 95)
feval(varargin{:});
Error in fotfid (line 24)
gui_mainfcn(gui_State, varargin{:});

regards

Efredy

• Posted October 6, 2016 at 09:41 | Permalink

The first point $(y,t)$ of identified response must be in $(0,0)$ for the identification to work correctly.

100. K_os
Posted October 14, 2016 at 05:59 | Permalink

Professor,
Despite the change that you suggested in dataset, I can’t to do the correct identification neither validation process.
regards

Efredy

101. EmnaO
Posted November 13, 2016 at 12:26 | Permalink

Dear Aleksei,
in your FOMCON Toolbox Gui you have proposed default values for Oustaloup approximation(wb,wh,N)=(10^-3, 10^3, 5). I would like to know how you chose thoes values? is there any conditions?

• Posted November 14, 2016 at 11:33 | Permalink

Such an approximation works well in the frequency band $\omega\in(10^{-3}, 10^3)$ rad/s which is a sufficiently average band for a lot of real-life processes.

102. vksateesh@gmail.com
Posted January 10, 2017 at 08:24 | Permalink

Sir,
I am a research scholar working in fractional order control of nonlinear systems. I have used your tool in my work and it is very useful to me. I request you to please release one manual or documentation on the development of toolbox. How various functions are developed what are the approximations used etc.
thank you
Sateesh Kumar V
Phd scholar
NIT Puducherry

Posted September 4, 2017 at 17:41 | Permalink

Hi
How to implement this PD controller in simulink:
1.82(1+13.48s)^0.55
I couldn’t do that

Posted September 5, 2017 at 12:59 | Permalink

dear aleksei
I have fractional PD controller like this form

Gc(s)=kp[1+kds]^y (y=gamma .it is not alfa or lamda).
how i can simulate it?

105. bahare.bld
Posted October 28, 2017 at 15:49 | Permalink

Hi,
I want to define a FOTF model with unknown parameter in simulink.
How can i simulate it?
For example i must define : G=1/(s^alfa)+1 , that alfa is unknown fractional order and i want to find it by an adaptive algorithm!
thank you

106. benbraim
Posted January 28, 2018 at 18:53 | Permalink

Hello professor,

in my simulation I used the fractional integrator Matlab-toolbox to simulate an autonomous fractional system with initial condition – as this block don’t have this option – I used this method (Caputo’s initial conditions) as explained in the attached picture.

https://ibb.co/k8O6UG
Really your opinion is importent for me.
Thanks.