Download

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
All rights reserved.

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.
[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/

156 Comments

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

    Hi I want to download it

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

      Go ahead. In order to download it, you need to agree to the terms and conditions.

      • 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 ….
        please explain sir…

  2. D.Pradeepkannan
    Posted January 28, 2013 at 10:44 | Permalink

    I want to download it

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

    I am in need of downloading FAMCON fraction order controller tool box to go ahead with my research.Please provide me the way at the earliest.

    • 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.

  5. Mohammad Reza
    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 =)

  8. Prof M S Prasad
    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

    M S Prasad

  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
    please help me
    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)
    What type instead of 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!

  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

    Thank you very much for your answer.
    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
    I benefited from your tips and answers

  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,

  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)

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

    hi dear dr.aleksei
    I want use lead-lag compsator in simulink
    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

        thanks for reply
        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

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

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

        \begin{equation}
        \omega_b = 1/b,\quad \omega_h=1/a.
        \end{equation}

        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

  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

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

    thank you for reply

  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’);
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    thanks in advance

  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

            thanks for your answer.
            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.
    Please help me, thanks very
    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);
    Error in quadgk/evalFun (line 331)
    fx = FUN(x);
    Error in quadgk/vadapt (line 250)
    [fx,too_close] = f(x);
    Error in quadgk (line 149)
    [q,errbnd] = vadapt(@evalFun,tinterval);
    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

  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
    how to tune parameters of FOPID .in matlab ….please help me…thanks in advance

  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’);
    please help me.

  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.
    I will appreciate you answer

    • 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.

  80. Mohammad Javad
    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?!

  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};

    please help. i am using 2015b.

    Thanking you

Post a Comment

You must be logged in to post a comment.