%FOTF Toolbox - A MATLAB Toolbox for the modeling, analysis and design of fractional-order systems % % (c) Professor Dingy\"u Xue, Northeastern University, Shenyang, China % Email: xuedingyu@mail.neu.edu.cn % Date of last modification, 23 December, 2016 % % This newly modified toolbox is written for the monograph, % % @BOOK{bkXueDFOCS, % Author = {Xue Dingy\"u}, % Address = {Berlin}, % Publisher = {de Gruyter Press}, % Title = {Fractional-order Control Systems - Fundamentals and Numerical Implementations}, % Year = {2017} % } % % Multivariable fractional-order systems are fully supported in the classes FOTF and FOSS % and low-level numerical algorithms are replaced by $O(h^p)$ precision ones. % For details in theory and programming, please refer to the monograph. % (I) Special functions and fundamentals in numerical computation % beta_c - beta function evaluation for complex arguments % common_order - compute the common order % fence_shadow - draw the shawdows on the walls % fmincon_global - a global constrained optimisation problem solver % funmsym - evaluate symbolic matrix functions % gamma_c - Gamma function evaluation for complex arguments % kronsum - compute Kronecker sum % mittag_leffler - symbolic evaluation of Mittag-Leffler functions % ml_func - numerical evaluation of Mittag-Leffler functions and derivatives % more_sols - find possible all solutions of nonlinear matrix equations % more_vpasols - symbolic version of more_sols, high precision solutions % new_inv - simple matrix inverse function, not recommended in applications % %(II) Numerical evaluations of fractional-order derivatives and integrals % caputo - computation of Caputo derivatives with interpolation, not recommended % caputo9 - evaluation of Caputo derivatives with $O(h^p)$, recommended % genfunc - computation of generating function coefficients symbolically % get_vecw - computation of $O(h^p)$ weighting coefficients % glfdiff0 - evaluation of GL derivatives, not recommended % glfdiff - standard evaluation of GL derivatives, with $O(h)$ % glfdiff2 - evaluation of $O(h^p)$ GL derivatives, not recommended % glfdiff9 - evaluation of $O(h^p)$ GL derivatives, recommended % glfdiff_fft - evaluation of $O(h^p)$ GL derivatives with FFT, not recommended % glfdiff_mat - matrix version of glfdiff, not recommended for large samples % glfdiff_mem - GL derivative evaluation with short-memory effect % rlfdiff evaluation of RL derivatives, not recommended, use glfdiff9 instead % %(III) Numerical evaluations of linear fractional-order differential equations % caputo_ics - equivalent initial condition reconstruction, called by fode_caputo9 % fode_caputo0 - simple Caputo FODE solver with nonzero initial conditions % fode_caputo9 - $O(h^p)$ solution of Caputo equations with nonzero ICs % fode_sol - closed-form solution of FODE with zero initial conditions % fode_solm - matrix version of fode_sol, not recommended for large samples % fode_sol9 - $O(h^p)$ version of fode_sol % ml_step3 - numerical solution of step response of 3-term models % %(IV) Numerical evaluations of nonlinear fractional-order differential equations % INVLAP_new - closed-loop response evaluation with inverse Laplace transform % nlfode_mat - matrix-based solutions of implicit nonlinear FODEs % nlfode_vec - nonlinear fractional-order extended state space equation solver % nlfode_vec1 - a different version of nlfode_vec, not recommended % nlfec - $O(h^p)$ corrector solution of nonlinear multi-term FODEs % nlfep - $O(h^p)$ predictor solution of nonlinear multi-term fractional-order ODEs % pepc_nlfode - numerical solutions of single-term nonlinear FODE with PCPE algorithm % %(V) Filter design for fractional-order derivatives and systems % carlson_fod - design of a Carlson filter % charef_fod - design of a Charef filter % charef_opt - design of an optimal Charef filter % cont_frac0 - continued-fraction interface to irrational functions % matsuda_fod - design of Matsuda-Fujii filter % new_fod - design of a modified Oustaloup filter % opt_app - optimal IO transfer approximation of high-order models % ousta_fod - design of a standard Oustaloup filter % %(VI) FOTF object design and overload functions % base_order - find the base order from an FOTF object % bode - Bode diagram analysis % diag - diagonal FOTF matrix creation and extraction % display - overload function to display a MIMO FOTF object % eig - find all the poles, including extraneous roots % eq - checks whether two FOTF blocks equal or not % feedback - overload the feedback function for two FOTF blocks % foss_a - convert an FOTF to an extended FOSS object % fotf - creation of an FOTF class % fotf2cotf - convert an FOTF object into commensurate form % fotf2foss - low-level conversion function of FOTF to FOSS object % fotfdata - extract all the fields from an FOTF object % freqresp - low-level frequency response function of an FOTF object % high_order - high-order IO transfer function approximation of FOTF objects % impulse - evaluation of impulse response of an FOTF object % inv - inverse FOTF matrix % isstable - check whether an FOTF object stable or not % iszero - check whether an FOTF object is zero or not % lsim - time response evaluation to arbitrary input signals % margin - compute the gain and phase margins % maxdelay - extract maximum delay from an FOTF object % mfrd - frequency response evaluation % minus - minus operation of two FOTF objects % mldivide - left-division function % mpower - power of an FOTF object % mrdivide - right-division function % mtimes - overload function of * operation of two blocks % nichols - Nichols chart % norm - H2 and Hinf evaluation % nyquist - Nyquist plot % plus - overload function of + operation of two blocks % residue - partial fraction expansion % rlocus - root locus analysis % sigma - singular value plots % simplify - simplification of an FOTF object % step - step response % uminus - unary minus of an FOTF object % %(VII) FOSS object design and overload functions % bode - Bode diagram analysis % coss_aug - FOSS augmentation % ctrb - controllability test matrix creation % display - overload function to display a MIMO FOSS object % eig - compute the poles of a FOSS object % eq - checks two FOSS blocks equal or not % feedback - overload the feedback function for two FOSS blocks % foss - FOSS class creation % foss2fotf - low-level conversion from FOSS to FOTF object % impulse - evaluation of impulse response of an FOSS object % inv - inverse of an FOSS object % isstable - check an FOSS object stable or not % lsim - time response evaluation to arbitrary input signals % margin - compute the gain and phase margins % mfrd - frequency response evaluation % minreal - minimum realisation of a FOSS object % minus - minus operation of two FOTF objects % mpower - power of an FOSS object % mtimes - overload function of * operation of two blocks % nichols - Nichols chart % norm - H2 and Hinf evaluation % nyquist - Nyquist plot % obsv - construct observability test matrix % order - find the orders of an FOSS object % plus - overload function of + operation of two blocks % rlocus - root locus analysis % size - find the numbers of inputs, outputs and states % ss_extract - extract integer-order state space object from FOSS % step - step response % uminus - unary minus of an FOSS object % %(VIII) Simulink models % fotflib - Simulink blockset for FOTF Toolbox % fotf2sl - multivariable FOTF to Simulink block convertor % sfun_mls - S-function version of Mittag-Leffler function % slblocks - default Simulink description file % c9mvofuz - Simulink model for variable-order fuzzy PID control systems % c9mvofuz2 - Simulink model for variable-order fuzzy PID systems with variable delays % c10mpdm2 - Simulink model for multivariable PID control system % c10mpopt - Simulink model for multivariable parameter optimisation control systems % fPID_simu - Simulink model fractional-order PID controller for single-variable system % %(IX) Fractional-order and other controller design % c9mfpid - fractional-order PID controller design with equation solution techniques % c9mfpid_con - constraints in optimum FOPID design of FOPDT plants % c9mfpid_con1 - constraints in optimum FOPID design of FOIPDT plants % c9mfpid_con2 - constraints in optimum FOPID design of FO-FOPDT plants % c9mfpid_opt - objective function in optimum FOPID design of FOPDT plants % c9mfpid_opt1 - objective function in optimum FOPID design of FOIPDT plants % c9mfpid_opt2 - objective function in optimum FOPID design of FO-FOPDT plants % ffuz_param - S-function for parameter setting of fuzzy fractional-order PIDs % fopid - construct a \fPID{} controller from parameters % fpidfun - an example of objective function for optimum fractional-order PIDs % fpidfuns - objective function for fractional-order PID controller design % fpidtune - design of optimum fractional-order PID controllers % gershgorin - draw Nyquist plots with Gershgorin bands % get_fpidf - build string expression of the open-loop model % mfd2frd - convert MFD data into FRD data % optimfopid - GUI for optimum fractional-order PID design % optimpid - GUI for optimum integer-order PID design % pseuduag - pseudodiagonalisation of multivariable systems % %(X) Dedicated functions and models for the examples % c2exnls - constraint function of an example % c8mstep - Simulink model of a multivariable fractional-order system % c8mfpid1 - Simulink model of a fractional-order PID control system % c8mchaos - vectorised Simulink model for fractional-order Chua system % c8mchaosd - data input file for c8mchaos % c8mchua - MATLAB description of fractional-order Chua equations % c8mchuasim - Simulink model for fractional-order Chua circuit % c8mblk2,3,5 - three Simulink models of a linear fractional-order equation % c8mcaputo - complicated Simulink model for nonlinear FODE % c8mexp2 - simpler Simulink model for nonlinear Caputo equations % c8mexp2m - MATLAB description of nonlinear Caputo equation % c8mnlf1, c8mnlf2 - two different Simulink models of a nonlinear FODE % c8mexp1x - MATLAB function for describing nonlinear Caputo equations % c8nleq - MATLAB description of a nonlinear single-term Caputo equation % c8mlinc1 - Simulink model of a linear fractional-order Caputo equation % c9ef1-c9ef3 - criteria for optimum fractional-order PID controllers % c9mplant - Simulink model used for optimpid design