00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00034 #include <acado/symbolic_expression/lyapunov.hpp>
00035
00036 BEGIN_NAMESPACE_ACADO
00037
00038
00039 Lyapunov::Lyapunov(){
00040 }
00041
00042 Lyapunov::Lyapunov(const Expression &rhs1_, const Expression &A_, const Expression &B_, const Expression &P_, const Expression &x1_, const Expression &u_, const Expression &p_){
00043
00044 rhs1=rhs1_;
00045 A=A_;
00046 B=B_;
00047 P=P_;
00048 x1=x1_;
00049 u=u_;
00050 p=p_;
00051 }
00052
00053 Lyapunov::Lyapunov(const Expression &rhs1_, const Expression &rhs2_, const Expression &A_, const Expression &B_, const Expression &P_, const Expression &x1_, const Expression &x2_, const Expression &u_, const Expression &p_){
00054
00055 rhs1=rhs1_;
00056 rhs2=rhs2_;
00057 A=A_;
00058 B=B_;
00059 P=P_;
00060 x1=x1_;
00061 x2=x2_;
00062 u=u_;
00063 p=p_;
00064 }
00065
00066 Lyapunov::Lyapunov(const Expression &rhs1_, const Expression &rhs2_, const Expression &A_, const Expression &B_, const Expression &P_, const Expression &x1_, const Expression &x2_, const Expression &u_, const Expression &p_, const Expression &useed_, const Expression &pseed_, const Expression &Yx1_, const Expression &Yx2_, const Expression &YP_){
00067
00068 rhs1=rhs1_;
00069 rhs2=rhs2_;
00070 A=A_;
00071 B=B_;
00072 P=P_;
00073 x1=x1_;
00074 x2=x2_;
00075 u=u_;
00076 p=p_;
00077 useed=useed_;
00078 pseed=pseed_;
00079 Yx1=Yx1_;
00080 Yx2=Yx2_;
00081 YP=YP_;
00082 }
00083
00084
00085 Lyapunov::Lyapunov(const Expression &rhs1_, const Expression &A_, const Expression &B_, const Expression &P_, const Expression &x1_, const Expression &u_, const Expression &p_, const Expression &w_){
00086
00087 rhs1=rhs1_;
00088 A=A_;
00089 B=B_;
00090 P=P_;
00091 x1=x1_;
00092 u=u_;
00093 p=p_;
00094 w=w_;
00095 }
00096
00097 Lyapunov::Lyapunov(const Expression &rhs1_, const Expression &rhs2_, const Expression &A_, const Expression &B_, const Expression &P_, const Expression &x1_, const Expression &x2_, const Expression &u_, const Expression &p_, const Expression &w_){
00098
00099 rhs1=rhs1_;
00100 rhs2=rhs2_;
00101 A=A_;
00102 B=B_;
00103 P=P_;
00104 x1=x1_;
00105 x2=x2_;
00106 u=u_;
00107 p=p_;
00108 w=w_;
00109 }
00110
00111 Lyapunov::Lyapunov(const Expression &rhs1_, const Expression &rhs2_, const Expression &A_, const Expression &B_, const Expression &P_, const Expression &x1_, const Expression &x2_, const Expression &u_, const Expression &p_, const Expression &w_, const Expression &useed_, const Expression &pseed_, const Expression &Yx1_, const Expression &Yx2_, const Expression &YP_){
00112
00113 rhs1=rhs1_;
00114 rhs2=rhs2_;
00115 A=A_;
00116 B=B_;
00117 P=P_;
00118 x1=x1_;
00119 x2=x2_;
00120 u=u_;
00121 p=p_;
00122 w=w_;
00123 useed=useed_;
00124 pseed=pseed_;
00125 Yx1=Yx1_;
00126 Yx2=Yx2_;
00127 YP=YP_;
00128 }
00129
00130
00131 Lyapunov::Lyapunov( const Lyapunov &arg ){
00132
00133
00134 rhs1=arg.rhs1;
00135 rhs2=arg.rhs2;
00136 A=arg.A;
00137 B=arg.B;
00138 P=arg.P;
00139 x1=arg.x1;
00140 x2=arg.x2;
00141 u=arg.u;
00142 p=arg.p;
00143 w=arg.w;
00144 useed=arg.useed;
00145 pseed=arg.pseed;
00146 Yx1=arg.Yx1;
00147 Yx2=arg.Yx2;
00148 YP=arg.YP;
00149 }
00150
00151
00152 Lyapunov::~Lyapunov(){ }
00153
00154
00155 Lyapunov& Lyapunov::operator=( const Lyapunov &arg ){
00156
00157 if( this != &arg ){
00158
00159 rhs1=arg.rhs1;
00160 rhs2=arg.rhs2;
00161 A=arg.A;
00162 B=arg.B;
00163 P=arg.P;
00164 x1=arg.x1;
00165 x2=arg.x2;
00166 u=arg.u;
00167 p=arg.p;
00168 w=arg.w;
00169 useed=arg.useed;
00170 pseed=arg.pseed;
00171 Yx1=arg.Yx1;
00172 Yx2=arg.Yx2;
00173 YP=arg.YP;
00174 }
00175 return *this;
00176 }
00177
00178 BooleanType Lyapunov::isEmpty() const{
00179 if ((P).getDim() == 0) return BT_TRUE;
00180 return BT_FALSE;
00181 }
00182
00183
00184
00185
00186
00187 CLOSE_NAMESPACE_ACADO
00188
00189