In order to download the toolbox, please accept the terms of the following license agreement (BSD compatible). Additionally, you agree to reference the FOMCON project/toolbox in derived works by citing at least one of the following articles (choose those that are most suitable for your application): [1], [2], [3], [4], [5], [6], or [7].

Copyright (c) 2012-2016, Aleksei Tepljakov

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the distribution

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
 I agree to the terms and conditions of use.
 [1] A. Tepljakov, E. Petlenkov, and J. Belikov, “Gain and Order Scheduled Fractional-order PID Control Of Fluid Level in a Multi-Tank System,” in 2014 International Conference on Fractional Differentiation and its Applications, 2014, pp. 1–6. [2] A. Tepljakov, E. Petlenkov, and J. Belikov, “Closed-Loop Identification of Fractional-order Models using FOMCON Toolbox for MATLAB,” in Proc. 14th Biennial Baltic Electronics Conference, 2014, pp. 213–216. [3] A. Tepljakov, E. Petlenkov, and J. Belikov, “Efficient analog implementations of fractional-order controllers,” in Proc. of the 14th International Carpathian Control Conference (ICCC), 2013, pp. 377–382. [4] A. Tepljakov, E. Petlenkov, J. Belikov, and J. Finajev, “Fractional-order controller design and digital implementation using FOMCON toolbox for MATLAB,” in Proc. of the 2013 IEEE Multi-Conference on Systems and Control conference, 2013, pp. 340–345. [5] A. Tepljakov, E. Petlenkov, J. Belikov, and M. Halás, “Design and Implementation of Fractional-order PID Controllers for a Fluid Tank System,” in Proc. 2013 American Control Conference (ACC), Washington DC, USA, 2013, pp. 1780–1785. [6] A. Tepljakov, E. Petlenkov, and J. Belikov, “FOMCON: a MATLAB toolbox for fractional-order system identification and control,” International Journal of Microelectronics and Computer Science, vol. 2, no. 2, pp. 51–62, 2011. [7] A. Tepljakov. (2012) FOMCON: Fractional-order Modeling and Control. [Online]. Available: http://www.fomcon.net/

1. sandip
Posted December 13, 2012 at 10:40 | Permalink

• Posted December 14, 2012 at 13:06 | Permalink

• gowtham
Posted December 7, 2016 at 11:44 | Permalink

sir,how to installs fractional block in to matlab..
how to create matlab fractional tool kit ….

Posted January 28, 2013 at 10:44 | Permalink

3. Posted April 1, 2013 at 14:17 | Permalink

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

On the page here there is a “I agree to the terms and conditions of use.” field with a checkbox that has to be ticked. The Download button will then become active and you will be able to download the toolbox.

4. peyman
Posted May 29, 2013 at 23:16 | Permalink

Dear Aleksei,

sorry! I dont know english very well.

Thanks a lot for your efforts.

I have two questions, I am grateful to you Answer.

1.In this toolbox, to implement the Derivative block, Which one of the definitions have been used?

Riemann-Liouville definition,Grünwald-Letnikov definition or Caputo definition?

2.Any functions in the three above-defined always have the same answer?

• Posted May 30, 2013 at 09:19 | Permalink

Dear Peyman,

The simulation routine in MATLAB computes the transient response using the Grünwald-Letnikov method. The derivative block in Simulink is based on the Oustaloup recursive filter approximation. Generally speaking, the three definitions of the fractional-order derivative are not strictly compatible.

• Yaoyao Wang
Posted December 26, 2013 at 15:25 | Permalink

Dear Aleksei

As you said here, your derivative block in Simulink is based on Oustaloup recursive filter approximation. So does it appropriate to use your derivative Simulink block when the fractional-order controller is deduced using the Caputo definition/Riemann-Liouville definition?

• Posted December 27, 2013 at 10:38 | Permalink

In case of the Oustaloup filter we are dealing with a band-limited approximation which is applicable to real-time control problems. This is a fundamental limitation.

How is the controller deduced using Caputo/Riemann-Liouville definitions exactly? If theoretical results are available, and, in addition, it is possible to compute the step response of the system using RL, for instance, then the task would be to compare these results to those achieved using the Oustaloup approximation. In fact, these should coincide within a reasonable tolerance.

Posted October 10, 2013 at 16:41 | Permalink

Hi
Thanks very much
How i can install the toolbox and use in matlab?

• Posted October 10, 2013 at 20:26 | Permalink

Download and unpack it into MATLAB’s toolbox directory, for example to “C:\Program Files\MATLAB\R20___\toolbox\fomcon\”. Then add the toolbox to MATLAB path as “Selected Folders and Subfolders”.

6. Emmanuel A. Gonzalez
Posted October 22, 2013 at 16:38 | Permalink

Superb work by the authors of this toolbox. This will indeed benefit a lot of fractional calculus researches. I like it very much.

7. Jairo Viola
Posted November 9, 2013 at 17:14 | Permalink

Thanks you so much, FOMCON help in my research about fractional controllers =)

Posted December 3, 2013 at 15:25 | Permalink

a very nice piece of software and helpful in giving class room demo.
This is a new topic and it helped students in learning this in detail. Thanks a lot Mr. Aleksei.
best

9. suveesh
Posted December 13, 2013 at 07:16 | Permalink

Does this FOMCON version support matlab version 6.5

• Posted December 13, 2013 at 08:23 | Permalink

FOMCON was not tested in version 6.5. Some of the features may work, but my guess is that the toolbox will not be functional in general. The aim to provide support for MATLAB v7.4 an up.

10. Yaoyao Wang
Posted December 25, 2013 at 16:01 | Permalink

Great job!

11. T CHENCHAIAH
Posted March 20, 2014 at 06:17 | Permalink

sir, in the text book (FOMCON: Fractional-order Modeling and Control) page no: 78, i am not getting the PRBS() matlab function. can you plz help me.
kind regards Chenchu

12. Guo-Qiang Zeng
Posted March 22, 2014 at 09:57 | Permalink

Dear Dr. Aleksei,
Thanks for your development of this useful toolbox. I want to know how to design a fractional order control system in Simulink directly based on your toolbox because I have not found how to set the fractional order parameters of these models,e.g., ‘Fractional derivative’, in FOMCON toolbox. Thanks very much.

13. Guo-Qiang Zeng
Posted March 31, 2014 at 11:03 | Permalink

Thanks for your reply. Yes, I want to design a control system with FOPID controller in Simulink and tune optimal values of the controller by evolutionary algorithms.

14. aazam
Posted April 7, 2014 at 14:32 | Permalink

hi Dear Dr. Aleksei
i download crone toolbax and want to use it,but eny Script to use,,give erorr ” Undefined function or method”
Maybe I’ve not understand how to install it
thanks

15. sun
Posted April 22, 2014 at 21:35 | Permalink

hi Dear Dr. Aleksei
can you help me how use [R,C,K,results] = frac_imp_rc_optimize_foster2(params)

• Posted April 23, 2014 at 07:33 | Permalink

Note, that the function you are trying to use is still in the stage of development, and it is not very likely that it will produce feasible results.

The argument params must be a MATLAB structure with the following fields:
.structure—A MATLAB string with the name of the fractance structure used;
.G—Original FOTF to be approximated;
.w—Frequency points at which the frequency response is evaluated (use, e.g., logspace() for generating this);
.N—Desired number of discrete components.

16. Ling Zhang
Posted April 23, 2014 at 05:28 | Permalink

Dear Dr. Aleksei
Thanks for your development of this useful toolbox.But when i use it with the version of MATLAB2014a, the fotf_GUI can’t be opened completely,besides, when i click Tools-Options,some mistakes always occur,i need your help,Thanks very much!

• Posted April 23, 2014 at 07:35 | Permalink

Dear Ling Zhang,
I will verify this as soon as I get a R2014a license.

• Posted April 23, 2014 at 09:07 | Permalink

Please elaborate on what “fotf_GUI can’t be opened completely” means.
The second problem is due to the incompatibility of the propertiesGUI version used in the current version of the toolbox with R2014a. I have fixed this issue and it will be included in the next version of the toolbox. For now, I will publish a patch on the FOMCON support forum. Kindly follow the link: http://fomcon.net/forums/topic/preliminary-releases-and-patches/#post-914

17. Ling Zhang
Posted April 23, 2014 at 10:54 | Permalink

Dear Dr. Aleksei，
Thanks for your help very much！My second problem has been solved with your help. As for the first one, i mean that when i input the command ‘fotf_GUI’, the display of ‘FOTF Viewer’ interface is not complete.

18. sun
Posted April 23, 2014 at 11:24 | Permalink

Sorry I taking of your time, but can you give me an example of how to make up for the values
Did you mean like that

a=[5];
na=[0.9];
b=[1 3 5];
nb=[2 1.3 0];
G=fotf(a,na,b,nb)
w=logspace(-2,2);
N=5;
G1 = carlson(1, 2,100, N)
[R,C,K,results] = frac_imp_rc_optimize_foster2(G1,G,w,N)
But did not succeed

• Posted April 23, 2014 at 11:51 | Permalink

No, actually you need to create a structure, e.g.
params=struct;
params.G=G; params.w=w;
params.N=N; params.structure='frac_struct_rc_foster2';
Then you pass it as
[R,C,K,results] = frac_imp_rc_optimize_foster2(params)

19. sun
Posted April 23, 2014 at 17:09 | Permalink

sorry Dr . may bother you
Did you mean so
a=[5];
na=[0.9];
b=[1 3 5];
nb=[2 1.3 0];
G=fotf(a,na,b,nb)
w=logspace(-2,2);
N=5;
params=struct;
params.G=G;
params.w=w;
params.N=N;
varargout = frac_struct_rc_foster2([20,15,5],[0.1,20,30],’~’,1,params)
params.structure=’frac_struct_rc_foster2′;
[R,C,K,results] = frac_imp_rc_optimize_foster2(params)
But also did not apply

• Posted April 23, 2014 at 18:01 | Permalink

This varargout = frac_struct_rc_foster2([20,15,5],[0.1,20,30],’~’,1,params) is not necessary.

20. سعى
Posted April 23, 2014 at 21:29 | Permalink

I did as you told me
But the show this mistakes

Error using frac_struct_rc_foster2 (line 31)
Not enough input arguments.

Error in frac_imp_rc_optimize_foster2>obj_func (line 50)
Z = struct_fun([Rp R],[Cp C])*K;

Error in frac_imp_rc_optimize_foster2>@(x)obj_func(x,str_fun,orig_fun,w,N) (line 21)
x = GODLIKE(@(x) obj_func(x, str_fun, orig_fun, w, N), …

Error in GODLIKE/test_funfcn (line 509)
sol = fun{ii}(lb_original);

Error in GODLIKE (line 139)
[options, single, multi, test_evaluations] = test_funfcn(options);

Error in frac_imp_rc_optimize_foster2 (line 21)
x = GODLIKE(@(x) obj_func(x, str_fun, orig_fun, w, N), …

Error in Untitled (line 15)
[R,C,K,results] = frac_imp_rc_optimize_foster2(params)
Caused by:
GODLIKE cannot continue: failure during function evaluation.

• Posted April 23, 2014 at 22:18 | Permalink

As I said, this is an experimental feature, and it may not work. Since I am currently doing something else, I cannot focus on finishing the implementation. Therefore, I cannot provide support for it.

Anyway, you should use the frac_rcl object. See the following publication for details.

[1] A. Tepljakov, E. Petlenkov, and J. Belikov, “Efficient analog implementations of fractional-order controllers,” in Proc. of the 14th International Carpathian Control Conference (ICCC), 2013, pp. 377–382.

21. sun
Posted April 24, 2014 at 08:04 | Permalink

No problem.
Thank you very much gave me of your time .
I use a program ( maple13) to apply foster and cauer method
But the values ​​of some elements are negative which caused me a problem.
last question can I know the values ​​of (setlling time_rise time_overshot) by using fomcon tool

• Posted April 24, 2014 at 08:18 | Permalink

Yes, if you consider approximations of fractional systems and use the standard Control System toolbox feature called ltiview.

22. sun
Posted April 24, 2014 at 10:34 | Permalink

thanks

23. sun
Posted April 26, 2014 at 08:57 | Permalink

hi dr
how are you.
Can you help me how can implement the structural type of tree for fractance

24. sun
Posted April 28, 2014 at 10:06 | Permalink

there are three basic fractance devices [domino ladder- tree structure- transmission line]
but i don’t found how can i implement tree type and transmission line

25. Nastaran
Posted April 28, 2014 at 18:44 | Permalink

Dear Aleksei

Thank you for your helpful comments. Is there any manual guide for this toolbox which has simple examples?

26. sun
Posted May 2, 2014 at 19:49 | Permalink

hi Dr.
can I ask if there a way to implement the process of maximum discrepancy matlab tool

27. sun
Posted May 7, 2014 at 09:35 | Permalink

dear Dr.
is there way to convert complex number like (2+3i)form to Laplace form like(2+s)
i need this way to calculate impedance for set of resistors and capacitor

• Posted May 7, 2014 at 23:43 | Permalink

I would suggest to consider the differential equation of the circuit and do a Laplace transform.

28. sun
Posted May 25, 2014 at 08:53 | Permalink

dear Dr.
can i use fomcon to solve continue fraction like as
(long continue division)

• Posted May 25, 2014 at 22:18 | Permalink

Do you mean long polynomial division? MATLAB has a built-in function for that, namely deconv.
For continued fraction expansion there’s a function in FOMCON called polycfe. It is used for generating fractance approximations.

29. sun
Posted May 26, 2014 at 20:46 | Permalink

i mean how Application of long division to the transfer function like that

z(s)=( s^4+4s^2+1)/(s^3+s)

=s+1/(1s/3+1/(9s/2+1/(2s/3)))

• Posted May 27, 2014 at 10:43 | Permalink

Use polycfe(). Here is your example:

b=[1 0 4 0 1];
a=[1 0 1 0];
[q, expr]=polycfe(b,a);

The function will return a cell array in q. Each element, which you can extract using curly bracket notation (e.g. q{1}) will contain the polynomial coefficients for the particular element of the expansion. For instance, the second element in this example will have $q\{2\}=[0.3333\ 0]$, which corresponds to the coefficient $1/3$.
The second argument—$expr$—will contain the expression, which you can evaluate and get the initial transfer function back using s=tf('s'); G=eval(expr);

30. voroojak
Posted May 27, 2014 at 09:54 | Permalink

i use command’ oustapid’ for approximation of the fractional-order PID controller at matlab.
where give zero/pole/gain
how i can abtain tranfer function of zero/pole/gain form?

• Posted May 27, 2014 at 10:49 | Permalink

If you want to convert the zpk representation into transfer function form just use tf(oustapid(...)). However, depending on the order of approximation, this can lead to issues with numerical stability, as transfer function zero/pole polynomial coefficients will differ greatly in orders of magnitude.

31. bnousaid
Posted June 5, 2014 at 11:54 | Permalink

thank you

32. bnousaid
Posted June 5, 2014 at 11:54 | Permalink

thanks

33. lifei
Posted June 6, 2014 at 14:53 | Permalink

I download the package , but can not work, >> G = fotf([2 1 -5], [1.7 0.3 0], [1 1], [0.5 0], 5)
??? Error using ==> fotf
Cannot redefine class ‘fotf’
without a call to ‘clear classes’.

And where is the simulink library?

• Posted June 6, 2014 at 17:37 | Permalink

Please specify which version of MATLAB you are using.
Type fod to launch the Simulink library.

34. lifei
Posted June 7, 2014 at 02:29 | Permalink

I use Matlab 2009b,

• Posted June 8, 2014 at 10:05 | Permalink

Unfortunately, there are compatibility issues. Kindly report them via the bug tracker.

35. sun
Posted June 12, 2014 at 18:52 | Permalink

hi Dr
can i use Fomcon tool to application Matsuds method for approximation?

36. sun
Posted June 13, 2014 at 10:31 | Permalink

ok,
Another question,when application this ([Y, T] = step(G)) function i dont get a figure,
i want step response .
I am a student and now type Master Thesis,I am a student, and now Master thesis type,i has relied on fomcon tool

• Posted June 14, 2014 at 18:05 | Permalink

The calling sequence you mentioned is used to store $y$ and $t$ vector values. You can plot them later using figure; plot(t,y);

37. sun
Posted June 14, 2014 at 20:25 | Permalink

i mean that
a=1;
na=0;
b=1;
nb=0.9;
G=fotf(a,na,b,nb)
i want step respons for G

38. sun
Posted June 15, 2014 at 10:01 | Permalink

thank you .but also i don’t have information about( rise time -setlling time-….)

• Posted June 15, 2014 at 15:07 | Permalink

You can deduce it from the plot yourself. Otherwise, use Oustaloup approximations and the ltiview application of Control System toolbox.

39. sun
Posted June 26, 2014 at 18:43 | Permalink

hi dr
can i use fomcon tool for application feedback with plant ?
as normal pid like
d=tf([1],[1 3 2 ]);
h=pid(kp,ki,kd);
c=feedback(d*h,1)

• Posted July 8, 2014 at 18:59 | Permalink

Yes, you can. Use the fracpid() command to generate a FO transfer function for the FOPID controller.

40. voroojak
Posted July 7, 2014 at 22:11 | Permalink

hi dear dr.aleksei
how can i build this block?
thak you

• Posted July 8, 2014 at 18:58 | Permalink

Use the “fractional operator” block of FOMCON library. You will need to compute the correct frequency band limits ($\omega_b$ and $\omega_h$) and the correct gain.

• voroojak
Posted July 20, 2014 at 09:40 | Permalink

how i can compute the correct frequency band limits (\omega_b and \omega_h) in “fractional operator” block?

• Posted August 4, 2014 at 09:13 | Permalink

This is very simple. Consider an abstract fractional-order lag compensator of the form

G(s) = 2.5 {\left( \frac{0.07s+1}{0.9s+1} \right)}^{0.5}.

You can approximate it using the Oustaloup method by selecting the following frequency bounds:

You will also need to apply the gain $K=2.5$ to the resulting approximation, as well as the correction gain $K_c=b^{\alpha}$. So in FOMCON you would need to issue the following command to get the approximation of the controller:

G=2.5*0.07^0.5*oustafod(0.5, 5, 1/0.07, 1/0.9)

NB! Make sure, that you are not using the “refined Oustaloup filter” option.

41. sun
Posted July 12, 2014 at 12:26 | Permalink

did you mean like this
d=tf([1],[1 3 2 ]);
l= fracpid(KP, KI, LAMBDA, KD, MU);
x=feedback(l*d,1)

but appear error

• Posted July 13, 2014 at 18:05 | Permalink

Change the first line of your code to this: d=fotf(tf([1],[1 3 2]));

42. sun
Posted July 13, 2014 at 22:08 | Permalink

thank you

43. nan
Posted July 21, 2014 at 11:55 | Permalink

can u help me to clear the error using fractional order PID controller which is displayed as
“error evalating parameter ‘sys’ in new/fractional PID/LTI block
caused by:
undefined function ‘nipid’ for input arguments of type ‘double’. i amusing MATLAB 12b version.

• Posted August 4, 2014 at 08:47 | Permalink

The error message is correct in that the ‘nipid’ function is not a part of FOMCON toolbox, therefore I cannot provide support for it.

• aazam
Posted August 6, 2014 at 15:46 | Permalink

hi
if you use another toolbox for farctional (for example ‘ninteger toolbox’)
this error Occurs when function ‘nipid’ or any function in not found in the current folder or on the matlab path
you should add this function to the matlab path..

44. chraja
Posted August 17, 2014 at 14:39 | Permalink

respected sir,

This raja (my mail iD: chvnraja.eee@anits.edu.in). iam using matlab 2013a matlab. here iam requsting you kindly send complete FOMCON toolbox for matlab 2013a.

45. aazam
Posted September 9, 2014 at 09:16 | Permalink

Hi again
in FOMCON toolbax for simulink ,how we can choose order of approximation?

• Posted September 9, 2014 at 21:00 | Permalink

There is an explicit formula for this in the French paper describing Oustaloup’s approximation: Oustaloup, A.; Levron, F.; Mathieu, B. & Nanot, F. M. Frequency-band complex noninteger differentiator: characterization and synthesis, 2000.

Generally, the greater the order of approximation, the closer the frequency response thereof is to an ideal one.

46. wanglong
Posted October 14, 2014 at 10:16 | Permalink

great job!

47. zynab
Posted October 29, 2014 at 16:52 | Permalink

hi
Iwant modling a fractional capacitor in the boost convertor of solar cells in simulink environment .
how?
do you know ican use which block?
thank you

• Posted October 30, 2014 at 14:42 | Permalink

E.g. the fractional operator block in the FOMCON Simulink library.

48. zynab
Posted October 31, 2014 at 07:32 | Permalink

49. Reem
Posted November 5, 2014 at 15:49 | Permalink

Dear Aleksei,

In FOMCON toolbax for simulink ,how we can choose the order and the frequency band of the
approximation?

50. Surya Varchasvi
Posted November 12, 2014 at 12:35 | Permalink

I was trying to use matlab Fractional toolbox and the below appeared
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
G = fotf([2 1 -5], [1.7 0.3 0], [1 1], [0.5 0], 5)
??? Undefined function or method ‘fomcon’ for input arguments of type ‘char’.

Error in ==> fotf.display at 5
config = fomcon(‘config’);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

• Posted November 13, 2014 at 17:22 | Permalink

Did you properly add all of the toolbox’ folders onto the MATLAB path?

51. shiva
Posted December 2, 2014 at 02:40 | Permalink

Hi
Please help me with using Fractional Transfer Function in simulink, I dont know how to use this block and creat a fractional transfer function?

52. sun
Posted December 11, 2014 at 16:53 | Permalink

hi dear dr.
Ask for help, do you have a source for controlling the fractional talking about how to find (kp,ki,kd) with out matlab, such as in (pid)
(kd) = (R*c) in analog, But what about (fopid) How do I find (kp,ki,kd)?
Sorry i takes from your time,but i need help ,because i couldn’t find source

53. sun
Posted December 14, 2014 at 18:29 | Permalink

hi Dr
when i use fractional pid controller block in simulink it require me LTI sys and transfer function what its mean can you take me example.and can use instead it from ninteger toolbox nipid block ?

54. aazam
Posted December 30, 2014 at 20:26 | Permalink

Hi dear dr aleksei
dose the TID controller performance better than PID controller?

55. Donia
Posted January 20, 2015 at 17:45 | Permalink

Hi dear Dr.Aleksei
I have a problem with using the fod liberary in simulink.
How I can determine the initial conditions for signals for example in fractional integrator block?

• Posted January 20, 2015 at 18:42 | Permalink

Initial conditions are assumed to be zero.

• Donia
Posted January 20, 2015 at 18:58 | Permalink

How can I change them?

• Posted January 21, 2015 at 11:46 | Permalink

At this moment, initial condition approximation is not yet supported. The research towards this end is ongoing, and should result in the implementation of said feature in a future FOMCON release.

• Donia
Posted January 22, 2015 at 10:55 | Permalink

Can I choose the initial conditions for the signals by putting two integrator and derivative (e.g. 1/s and du/dt) blocks beside each other to input the initial conditions in 1/s blocks?

• Posted January 22, 2015 at 22:16 | Permalink

Unfortunately, it is not as simple as this.

56. Juliet Nirmala
Posted February 19, 2015 at 16:31 | Permalink

Dear Sir,
When I am using fpid_optim for finding lamda and mu I got some errors . The transfer function is G=tf(34.99.[26.54 1],’inputdelay’,0.74), I am using Matlab version 2013a I am getting following errors
Error margin and recursion limit crossed 500
Could you please help me to solve this problem. If there is some problem with installating toolbox could you please send video for installing toolbox.
Thanks and regards.

• Posted February 21, 2015 at 17:13 | Permalink

This is a problem with controller design for a particular system. My advice would be to try to limit the FOPID gain/order parameter search space.

57. thulasi
Posted March 4, 2015 at 09:11 | Permalink

hi… iam not getting the all blocks in the simulink library…what can i do for getting all the 8 blocks in smulink..

58. Guo-Qiang Zeng
Posted March 24, 2015 at 14:57 | Permalink

Dear Dr.Aleksei,
When I am using ‘norm’ to evaluate the robutness of a fractional order transfer function, I got some errors.
For example,
G=fotf([0.8,0.5,1],[2.2,0.9,0],1,0);
n1=norm(G)
n2=norm(G,inf)

The following errors are:
Attempt to reference field of non-structure array.
Error in fotf/freqresp (line 14)
a = G.a;
Error in fotf/norm>@(x)freqresp(x,G).*freqresp(-x,G) (line 25)
f = @(x)freqresp(x, G).*freqresp(-x,G);
fx = FUN(x);
[fx,too_close] = f(x);
Error in fotf/norm (line 27)
n = quadgk(f, -dx*1i, dx*1i) / (2*pi*1i);
Error in robutness_test (line 9)
n1=norm(G)

59. donia
Posted April 3, 2015 at 17:04 | Permalink

Hi dear Dr.Aleksei

when I use the fod library in simulation, I face with this error although I don’t use this block(Discrete FPID OPTIM controller) in my simulations:

“Could not evaluate MaskDisplay commands of block ‘fod/Discrete FPID OPTIM controller’: Undefined function or variable ‘str’.”

thanks a lot

• Posted April 4, 2015 at 19:07 | Permalink

Are you sure that the MATLAB path for FOMCON toolbox is correctly set?

60. Yousaf Aarfaj
Posted April 30, 2015 at 11:48 | Permalink

Dear Sir,

Thank you very much for your efforts. I am using MATLAB R2015a, and I could not know how to install the toolbox. I have already add the folder to the directory of MATLAB but I did not under stand whay it does not work. What should I do to get the Simulink blockset?

Thank you

61. ashif
Posted May 13, 2015 at 12:17 | Permalink

i want to design a controller c(s)=fopid structure for the plant G(s),such that i will get
C(s)*G(s)=M(s) ,my required model

62. mengxiao
Posted May 26, 2015 at 12:41 | Permalink

Dear Aleksei,
I meet with a problem,I want to get your help.
When I input the code’ G=fotf([0.8 0.5 1],[2.2 0.9 0],[1],[0])’ in the Command Window,it works.The show:>> G=fotf([0.8 0.5 1],[2.2 0.9 0],[1],[0])
Fractional-order transfer function:
1
———————–
0.8s^{2.2}+0.5s^{0.9}+1
But,when I put the code’ G=fotf([0.8 0.5 1],[2.2 0.9 0],[1],[0])’ in M file,it will go wrong.
M file is named ‘Untitled’,the Command Window shows:
??? Error using ==> Untitled
No Static method ‘Untitled’ in class ‘fotf’.

• Posted May 26, 2015 at 15:52 | Permalink

What is your working directory? Are you certain, that FOMCON is on MATLAB path?

• mengxiao
Posted May 27, 2015 at 04:42 | Permalink

I put M file in the’@fotf’ folder,it can’t work .I find M file can’t be put in the ‘@fotf’ folder .
Now I have solve this problem.Thank you very much.

63. mengxiao
Posted May 26, 2015 at 15:15 | Permalink

Hi dear Dr.Aleksei
I input the code’ G1=fotf([1.1 0.8 1.9 0.4],[1.8 1.3 0.5 0],[0.8 2],[1.2 0])’,the show:
??? Undefined function or method ‘fomcon’ for input arguments of
type ‘char’.

Error in ==> fotf.display at 5
config = fomcon(‘config’);
I have add the folder to MATLAB path,butit can’t work.Some daya ago,it can work normally.
I will be grateful for your help.

• Posted May 26, 2015 at 15:53 | Permalink

See my comment above. Reinstall FOMCON if nothing else helps.

• mengxiao
Posted May 27, 2015 at 04:47 | Permalink

I see your comment above carefully,and now I have solved it.I am grateful for your comment.Thank you very much.

64. Bhargavi
Posted June 12, 2015 at 17:19 | Permalink

Thank you Aleksei . We were able to complete our project successfully with your toolbox

65. Gaurav CHAUDHARY
Posted July 20, 2015 at 14:29 | Permalink

i have downloaded it and unpacked as said to tool box folder but its not working
thanks

66. Argyres
Posted July 28, 2015 at 19:35 | Permalink

Very useful toolbox. In fact i have one of my students using it as a means of designing some simple FOC for a simplified suspension problem. We have noted that if both the ninteger toolobox and fomcon appear on the matlab path, the fomcon gui (the frequency responses, bode, nichols) do not seem to work. Not sure why, but in such case the easy solution is either to work with ninteger or fomcon (both tooloboxes offer useful tools). Great work in what you have done Aleksei!

A.

67. hoomun
Posted July 31, 2015 at 18:31 | Permalink

hi dear doc aleksi
with type:
> a=[5];
na=[0.9];
b=[1 3 5];
nb=[2 1.3 0];
G=fotf(a,na,b,nb)
and do it,this message is appea
Undefined function ‘fomcon’ for input arguments of type ‘char’.

Error in fotf/display (line 5)
config = fomcon(‘config’);

68. Posted July 31, 2015 at 18:46 | Permalink

i reinstal it, but this error message again appear!

69. Gireesh
Posted August 3, 2015 at 12:53 | Permalink

I am a help. How to find the FOPID parameters using GA/PSO algorithms by using Simulink or optimization toolbox

70. Alireza
Posted August 15, 2015 at 15:24 | Permalink

hi
I learned lots of things in a short time that I visited ur site
I really appreciate uand ur works
Thank u very much :*

71. Akshit
Posted August 28, 2015 at 15:58 | Permalink

Sir, I want to use fomcon in my model, how can I do it ? Also, I want to optimise the value of my fraction using ga. How to do it?

72. Enrique Price
Posted September 4, 2015 at 06:28 | Permalink

Great work, I would like to know if your tool, fomcon 1.0 version , works in matlab 2015, because I type:

G2
Fractional-order transfer function:
s^{0.3}+1
———–
s^{2.5}+s+1
>> isstable(G2)
Error using intmax (line 40)
Invalid class name.

Error in gcd (line 47)
if isa(b,’double’) && (b > intmax(classin) || b < intmin(classin))

Error in fotf/comm_order (line 61)
n=gcd(a1(1),a1(2));

Error in fotf/isstable (line 35)
q = comm_order(G,'den');

This is the problem.

• Posted September 5, 2015 at 10:41 | Permalink

I have not updated to MATLAB R2015a yet, therefore there may be issues with it.
I will check this as soon as possible.

73. Posted September 5, 2015 at 16:32 | Permalink

Please make sure that all of FOMCON toolbox files are on MATLAB path.
Which particular version of MATLAB R2015 are you using? R2015a or R2015b?

74. Pankaj Saha
Posted September 14, 2015 at 07:21 | Permalink

hello sir,
I am new in matlab and very new in fomcon, can you please tell me how can i define the transfer function
z=1/[(1+s)^0.5] to get the bode response of the function? please reply as soon as ur convenience.

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

This is an implicit FO transfer function, these are not supported yet.
To get the frequency response you can, e.g., create a so called anonymous function: G = @(w) 1./((1+sqrt(-1).*w).^0.5); Now you can obtain the frequency response of the corresponding transfer function in the same way as you would using the freqresp() function. To get a Bode plot, specify the frequency response points of interest, e.g., w=logspace(-5,5,100); frG = G(w); and create a frd object like so: frdG = frd(frG, w); Now just do bode(frdG);
Note, that the whole procedure does not even require FOMCON.

75. pankaj
Posted September 14, 2015 at 15:25 | Permalink

hi sir,
please tell me how can I define the transfer function Z(s)=1/(s+1)^0.5 for obtaining bode plot.

76. dikson2016
Posted January 29, 2016 at 20:19 | Permalink

Dear Aleksei,
I would like to know if you have any examples FOC for power electronics – buck or boost DC/DC converter. I am doing some research on the dynamic behaviour in the field power electronics with bifurcation and chaos regime analysis. The modulation that I am implementing is Pulse Frequency Modultion (PFM). I have two m-files for a two-phase boost voltage converter (Parameter and read files). I have read a few articles based on FOC in power converters which is the mathematical modelling but no example of the algorithm for a start.
My Reagrds
Dixon

77. kapilg
Posted April 1, 2016 at 18:44 | 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

78. Reza
Posted May 3, 2016 at 17:50 | Permalink

Dear Aleksei,
i installed MATLAB R2014b and used fomcon toolbox. but it showed warning and error:

Warning: Could not evaluate MaskDisplay commands of block ‘FuzFOPID/FD1’: Undefined
function or variable ‘str’.
In general\private\openmdl at 12
In open at 158
In uiopen at 167

———————————————–

Error in ‘FuzFOPID/FD1’: Initialization commands cannot be evaluated.
Error using MainCode (line 29)
Previously accessible file “C:\Program
Files\MATLAB\R2014a\toolbox\fomcon\@fotf\fotf.m” is now inaccessible.

* FD1 is fractional derivative.

what’s its problem?

• Posted May 4, 2016 at 09:53 | Permalink

My guess is that there are issues with Windows security. You can try starting MATLAB as administrator, for example, or moving the toolbox away into a folder where security is less tight (e.g., Documents/MATLAB/fomcon).

79. Reza
Posted May 4, 2016 at 15:06 | Permalink

Yes, thank you so much.
It solved.

Posted August 10, 2016 at 19:48 | Permalink

Dear Sir, Hi

I have MATLAB 2015a installed on my PC and I followed all the steps you said about installing but it’s not working ! Is there anything wrong with this version or the problem might be something else?!

• Posted August 12, 2016 at 10:36 | Permalink

There are many flavors of “not working”. Please elaborate.

81. kspritam1
Posted February 20, 2017 at 11:24 | Permalink

Dear Sir,

When i am trying to run code of fractional PID controllers, i am getting an error which is given below:

>> fracpid
Index exceeds matrix dimensions.

Error in fracpid (line 13)
myvar = varargin{1};

I can only guess that the calling sequence to fracpid() function is wrong.