Home > matlab > acado > packages > +acado > @Function > Function.m

Function

PURPOSE ^

Allows to setup and evaluate a general function based on SymbolicExpressions.

SYNOPSIS ^

This is a script file.

DESCRIPTION ^

Allows to setup and evaluate a general function based on SymbolicExpressions.
 The class Function allows to setup and evaluate general functions based on SymbolicExpressions.

  Usage:
    >> Function({x1, x2, ...});

  Parameters:
    {} Expression as a cell


  Example:
    >> f = acado.Function({x,u,p});

  Licence:
    This file is part of ACADO Toolkit  - (http://www.acadotoolkit.org/)

    ACADO Toolkit -- A Toolkit for Automatic Control and Dynamic Optimization.
    Copyright (C) 2008-2009 by Boris Houska and Hans Joachim Ferreau, K.U.Leuven.
    Developed within the Optimization in Engineering Center (OPTEC) under
    supervision of Moritz Diehl. All rights reserved.

    ACADO Toolkit is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 3 of the License, or (at your option) any later version.

    ACADO Toolkit is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with ACADO Toolkit; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

    Author: David Ariens
    Date: 2010

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 %Allows to setup and evaluate a general function based on SymbolicExpressions.
0002 % The class Function allows to setup and evaluate general functions based on SymbolicExpressions.
0003 %
0004 %  Usage:
0005 %    >> Function({x1, x2, ...});
0006 %
0007 %  Parameters:
0008 %    {} Expression as a cell
0009 %
0010 %
0011 %  Example:
0012 %    >> f = acado.Function({x,u,p});
0013 %
0014 %  Licence:
0015 %    This file is part of ACADO Toolkit  - (http://www.acadotoolkit.org/)
0016 %
0017 %    ACADO Toolkit -- A Toolkit for Automatic Control and Dynamic Optimization.
0018 %    Copyright (C) 2008-2009 by Boris Houska and Hans Joachim Ferreau, K.U.Leuven.
0019 %    Developed within the Optimization in Engineering Center (OPTEC) under
0020 %    supervision of Moritz Diehl. All rights reserved.
0021 %
0022 %    ACADO Toolkit is free software; you can redistribute it and/or
0023 %    modify it under the terms of the GNU Lesser General Public
0024 %    License as published by the Free Software Foundation; either
0025 %    version 3 of the License, or (at your option) any later version.
0026 %
0027 %    ACADO Toolkit is distributed in the hope that it will be useful,
0028 %    but WITHOUT ANY WARRANTY; without even the implied warranty of
0029 %    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0030 %    Lesser General Public License for more details.
0031 %
0032 %    You should have received a copy of the GNU Lesser General Public
0033 %    License along with ACADO Toolkit; if not, write to the Free Software
0034 %    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
0035 %
0036 %    Author: David Ariens
0037 %    Date: 2010
0038 %
0039 classdef Function < handle    
0040     properties
0041        name = 'f';
0042        items = {}; 
0043     end
0044     
0045     methods
0046         function obj = Function(varargin)
0047             % This constuctor is also called by OutputFcn and DifferentialEquation
0048             
0049             global ACADO_;
0050             ACADO_.count_function = ACADO_.count_function+1;
0051             obj.name = strcat('acadodata_f', num2str(ACADO_.count_function));
0052             
0053             if (nargin == 1  ) 
0054                f = varargin{1};
0055                
0056                for i=1:length(f)
0057                   obj.items{i} = f(i);
0058                end
0059                
0060             end 
0061             
0062             ACADO_.helper.addInstruction(obj);  %also called by OutputFcn and DifferentialEquation!!
0063         end 
0064         
0065         getInstructions(obj, cppobj, get)
0066        
0067     end
0068     
0069 end
0070

www.acadotoolkit.org/matlab
Generated on Tue 01-Jun-2010 20:14:12 by m2html © 2005