You are on page 1of 14

89:)/+#<9<1%&<

Computer 3(41)(-
Science @A%()9

Finite 3(41/4B(B<#
state +94*&/0*-#
machines <9<1%&<

89:)/+#;9<1%&<=#,(+%-/4>
"
! !"#$%&'("()*+(
" u!t" y!t"
# <9<1%&

"
#

# !
!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 7 !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 ?

F&:%++%+#<9<1%&< OP41)/4</0*--9#A9:)/+Q#<9<1%&<
+/<0)%1%#/4'B1<
!"#$%&'&()*+, !":01.,'),,)&.
!"-./$,%0)1*"20&3+,,+,
<9&:(-<# <9&:(-< 0(41/4B(B<#
!"4&.,$'+0"+*+3%0&.)3, #+/<0)%1%#0(&&*4+
#GHIJI7I?ICI5IKL +94*&/0*-#2*)/*:-%<
!"5&'+"122*)1.3+, ?
G2%-(0/1/%<I#1()NB%<L
*B1(&*1(4#D#-(>/0 !666

/41%)E*0% 781'2*+9

0(41/4B(B<#+94*&/0*-#<9<1%&
!";&$0<,%0&=+"+.>).+,

!B1(&*1(4I
0(41/4B(B<# +%'%4+%41#(4
<1*1%< '(M%)#1)*/4#&(1/(4

0(41/4B(B<#/4'B1<

!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 C !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 5


FR*&'-%#(E#A9:)/+#0(41)(-#')(:-%& S%9#)%NB/)%&%41<#E()#A9:)/+#&(+%-<
1$5%(*'678)$79':$7#9*+ !!>*(6$%:)%?*'+.&$>E"%&"312%$0+"%E+"(+E1F)&0"&G"%E+",@,%+'
,-./0
H"3&.%).$&$,"/@.1')3,"I2E@,)31*"*1J,K
3&''1./">+10"01%)&C">1,"
H"*&>)3"3&'2&.+.%,"I,J)%3E+,C"1$%&'1%1C",&G%J10+"3&/+K
2+/1*C"1./"(01=+,"%&")$;6<'
1"/+,)0+/",2++/"1./"').)')D+" H").%+03&..+3%)&."(+%J++."*&>)3"1./"/@.1')3,
3&.,$'2%)&.,
!!4%+:9*$+.&$>E"G&0",&*F).>""#"$%&'&!"1./"&%#()*&'&"20&(*+',

*).+10",@,%+', .&.*).+10",@,%+',
1!.//23,240
*).+10"E@(0)/",@,%+',
!"3&.%).$&$,";8&"/),30+%+").2$%,
!"/@.1')3,"/+2+./,"&.">+10 @A;<*'*?*$")B%8C';('(%+:9*';(':7((%#9*D'#5)'87)'(%+:9*$EF
!".&.*).+10"%&0A$+B,2++/"'12, ""L".9#*$)'2%8()*%8

!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6K !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6!

./%0%M/<%#*V4%#<9<1%&< [/<0)%1%#89:)/+#!B1(&*1(4#G[8!L
G@())/</I#$%&'()*+I#?XX5L
"<1*1%U/4'B1#<'*0%
(%'!)*$* F2%41#
Y%4%)*1()

;M/10A%+#
!V4%#;9<1%&

7
Z/4/1%#;1*1%#
,*0A/4% 1/&%#() ?
%2%41# s
0(B41%)
!#$%&'()*+,*"

41."1220&8)'1%+".&.*).+10"1./B&0"/),3&.%).$&$,"/@.1')3,"10()%010)*@"J+** &(+%
,(+%#;%-%01()

xGkU7L !"#$%#&"&'

xGkL
C"###C$###C%####C&#####C'#######C!
!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 T !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 W
;M/10A%+#*V4%#<9<1%&
MJ)%3E+/"#N.+"M@,%+' F2%41#>%4%)*1()
(%'!)*$*
(%'!)*$*

!"#$%#&"&'
!"#$%#&"&'

:E+"1N.+"/@.1')3,"/+2+./"&."%E+"3$00+.%"'&/+"iIkK9 7F+.%"F10)1(*+,"10+">+.+01%+/"(@"*).+10"%E0+,E&*/"3&./)%)&.,"&F+0"3&.%).$&$,"
,%1%+,C"3&.%).$&$,").2$%,C"1./"%)'+9

xc(k + 1) = Ai(k)xc(k) + Bi(k)uc(k) + fi(k) [δei (k) = 1] ←→ [H ixc(k) + K iuc(k) ≤ W i]

781'2*+9" [δ(k) = 1] ↔ [xc(k) ≥ 0]


!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 \ !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 7X

Z/4/1%#<1*1%#&*0A/4%
;).)%+"M%1%+"O13E).+ ,(+%#<%-%01()
O&/+"M+*+3%&0
(%'!)*$* (%'!)*$*

@A%#&(+%#<%-%01()#0*4#:%#<%%4#
*<#1A%#(B1'B1#EB401/(4#(E#1A%#
+/<0)%1%#+94*&/0<

!"#$%#&"&' !"#$%#&"&'

:E+"13%)F+"'&/+"iIkK"),",+*+3%+/"(@"1"Q&&*+1."G$.3%)&."&G"%E+"3$00+.%"().10@"
:E+"().10@",%1%+"&G"%E+"P.)%+",%1%+"'13E).+"+F&*F+,"133&0/).>"%&"1"Q&&*+1."
,%1%+,C"().10@").2$%,C"1./"+F+.%"F10)1(*+,9
,%1%+"$2/1%+"G$.3%)&.9

781'2*+9" X 7
X
781'2*+9 1A%#<9<1%&#A*<#C#&(+%<
7
!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 77 !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 7?
_(>/0#!#/4%NB*-/1/%< =-,>?#!#>@*A092>1>*)B#)CDE-2>?#9::.-9?F
GY-(2%)#7\TKI#
]/--/*&<#7\TTI
8((^%)#?XXXL
"781'2*+9

"V6"W)F+."1"Q&&*+1.",%1%+'+.%
"R6"4&.F+0%"%&"4&.S$.3%)F+"T&0'1*";&0'"I4T;K9
"R6"4&.F+0%"%&"4&.S$.3%)F+"T&0'1*";&0'"I4T;K9 """"()**#*+,+#http://www.oursland.net/aima/propositionApplet.html -.#/0)1#,--,2*#3-.#4567#8#9::2*1;#+++<

U6":01.,G&0'").%&").+A$1*)%)+,9 Pj ∪ Nj ⊆ {1, n}
U6":01.,G&0'").%&").+A$1*)%)+,9
2&*@E+/0&.
Aδ ≤ b, δ ∈ {0, 1}n

#.@"*&>)3"20&2&,)%)&."31."(+"%01.,*1%+/").%&"%8)*C*$'9%8*;$'%8*G5;9%)%*(
!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 7C !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 75

=-,>?#!>@*A092>1>*)B#,*-D*1.>?#9::.-9?F =-,>?#!#>@*A092>1>*)B#,*-D*1.>?#9::.-9?F
$((-%*4#<1*1%&%41
781'2*+9"*&>)3"X#TYZ
'(-9A%+)(4
δ-
G7I7I7L

:E+"2&*@%&2+"""""""""""""""""""""""""""""""""""""""""""),"%E+"3&.F+8"E$**"&G"%E+"0&J,"&G"
δ.
%E+"%0$%E"%1(*+"T"1,,&3)1%+/"J)%E"G&0'$*1
GXI7IXL

[+@")/+19" δ*
\E)%+"2&).%,"31..&%"(+ GXIXIXL G7IXIXL
)."%E+"E$**"&G"(*13="2&).%,
 
�� � � � � � � ��  −δ1 + δ3 ≤ 0 
0 0 1 1
conv 0 , 1 , 0 , 1 = δ ∈ R3 : −δ2 + δ3 ≤ 0
4&.F+8"E$**"1*>&0)%E',9"cdd, lrs, qhull, chD, Hull, Porto
0 0 0 1  δ 1 + δ2 − δ 3 ≤ 1 

1>>A2H#'*0^*>%#/40-B+%+#/4#1A%#89:)/+#@((-:(R >> V=struct('V',[0 0 0;0 1 0;1 0 0;1 1 1]);


>> H=cddmex('hull',V);A=H.A,b=H.B

!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 7K !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 7`


Y%(&%1)/0#2<"#<9&:(-/0#*'')(*0A $/>6,#1%0A4/NB%#G/aL
!":E+"2&*@E+/0&."&(%1).+/"F)1"3&.F+8"E$**"),"%E+",'1**+,%"&.+ ! 4&.,)/+0"%E+"'+,"#-,.#$%,'+"3&./)%)&.

!":E+"&.+"&(%1).+/"F)1"4T;"'1@"(+"*10>+06"781'2*+9

! #,,$'+"X"(&$./+/"1./"*+%"M"1./"m",$3E"%E1%

! :E+"'+,"#-,.#$%,'+"3&./)%)&."),"+A$)F1*+.%"%&

a�xc − b ≤ M (1 − δ)
3&.F+8"E$** 4T; a�xc − b > mδ
<'B)/(B<#2%)1%R
/4#GX"KIX"KIX"KL
! :&"1F&)/",%0)3%").+A$1*)%)+,C"0+2*13+"(@ a�xc − b ≥ � + (m − �)δ
J(1%=#4(#(1A%)#%R*&'-%#M/1A#C#2*)<#:B1 �>0
JE+0+"""""""""""""""),"1",'1**".$'(+0"I+6>6C"'13E).+"20+3),)&.K
!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 7T !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 7W

$/>6,#1%0A4/NB%#G/E61A%46%-<%L ;M/10A%+#*V4%#<9<1%&
!"4&.,)/+0"%E+"'+,()*#,*$&*"3&./)%)&. #/0&1234) :E+",%1%+<$2/1%+"+A$1%)&."31."(+"0+J0)%%+."1,"1"/)]+0+.3+"
56%3)#78&39
+A$1%)&."?"'+,()*#,*$&*!3&./)%)&.,9
*

!"#,,$'+"X"(&$./+/"1./"*+%"M"C"M$"1./"m"C"m$",$3E"%E1%

!":E+"'+,()*#,*$&*"3&./)%)&."),"+A$)F1*+.%"%&

JE+0+"""""""""""""""""""""""""""""6"

^$%2$%"+A$1%)&.,"ycIkK_CixcIkK?Diu?IkK?gi"1/')%"1",)')*10"%01.,G&0'1%)&.

!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 7\ !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 ?X


_(>/0#*4+#/4%NB*-/1/%< ,/R%+#_(>/0*-#[94*&/0*-#G,_[L#<9<1%&<
(G2-H*.#"IJ'K#L>22>9D)#"IJJK#
M--N*.#$OOO< [/<0)%1%#89:)/+#!B1(&*1(4

5`MY7a
!D$==080C)A39B$='4C).EEF"

,/R%+#_(>/0*-#[94*&/0*-#G,_[L#<9<1%&<


 xk+1 = Axk + B1uk + B2δk + B3zk + B5
yk = Cxk + D1uk + D2δk + D3zk + D5

 E δ +E z
2 k 3 k ≤ E 4 xk + E 1 u k + E 5
#/0&1234)
56%3)#78&39
>?3%&)
:0%0&3)#&'&3) ;$43)#3<31&$= 3(41/4B(B<#*4+# x ∈ Rnc × {0, 1}nb , u ∈ Rmc × {0, 1}mb !A39B$='4C);$='=0)*+++"
;'120%3 * @3%3='&$=
:/4*)9#2*)/*:-%< y ∈ Rpc × {0, 1}pb , δ ∈ {0, 1}rb , z ∈ Rrc
.

s b#3(&'B1*1/(4*--9#()/%41%+#G&/R%+6/41%>%)#')(>)*&&/4>L
b#;B/1*:-%#E()#0(41)(--%)#<941A%</<I#2%)/c0*1/(4I#"""
!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 ?7 !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 ??

,/R%+6/41%>%)#&(+%-<#/4#g'%)*1/(4<#H%<%*)0A ,/R%+6/41%>%)#&(+%-<#/4#g'%)*1/(4<#H%<%*)0A
:01.,*1%)&."&G"*&>)31*"0+*1%)&.,").%&"*).+10").+A$1*)%)+,"),"E+1F)*@"$,+/")." :01.,*1%)&."&G"*&>)31*"0+*1%)&.,").%&"*).+10").+A$1*)%)+,"),"E+1F)*@"$,+/")."
&2+01%)&.,"0+,+103E"I^bK"G&0",&*F).>"3&'2*+8"/+3),)&."20&(*+',"(@"$,).>" &2+01%)&.,"0+,+103E"I^bK"G&0",&*F).>"3&'2*+8"/+3),)&."20&(*+',"(@"$,).>"
')8+/<).%+>+0"I*).+10K"20&>01'').>"IO-cK ')8+/<).%+>+0"I*).+10K"20&>01'').>"IO-cK

781'2*+9":)'+%1(*+">+.+01%)&."IG&0"/+'1./).>"20&G+,,&0,"dK 781'2*+9":)'+%1(*+">+.+01%)&."IG&0"/+'1./).>"20&G+,,&0,"dK

3(<1#EB401/(4=
<B&#(E#')(E%<<()<d#
')%E%)%40%<

3(4<1)*/41<=
')(E%<<()<#e<1B+%41<f# 3.h#1/&%=#X"?#<
0*44(1#1%*0A#e1*^%f#
1M(#0(B)<%<#*1#1A%
<*&%#1/&%I#%10"
7]&0%9"""ef"'1%E+'1%)31*"20&(*+'",+%$2"IO-ac"'&/+*K
"""""""""""""gef"/1%1(1,+"h"J+(").%+0G13+,
"""""""""""""iVf"/+1*"J)%E"20&G+,,&0,j"3&'2*1).%,C"1$9B<'0%&8C"?-D:29>@1)#d
!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 ?C !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 ?5
,/R%+6/41%>%)#&(+%-<#/4#g'%)*1/(4<#H%<%*)0A !#</&'-%#%R*&'-%
:01.,*1%)&."&G"*&>)31*"0+*1%)&.,").%&"*).+10").+A$1*)%)+,"),"E+1F)*@"$,+/")."
&2+01%)&.,"0+,+103E"I^bK"G&0",&*F).>"3&'2*+8"/+3),)&."20&(*+',"(@"$,).>" !"M@,%+'9
')8+/<).%+>+0"I*).+10K"20&>01'').>"IO-cK

!"#,,&3)1%+ 1./"%01.,G&0'

781'2*+9"^2%)'1*"'$*%)<2+0)&/").F+,%'+.%,"G&0"'1).%+.1.3+"1./"
!":E+.
$2>01/+"&G"+*+3%0)31*"+.+0>@"/),%0)($%)&.".+%J&0=,
G$%&'()*+I#,Bi(jI#./*jj%</I#?XX`L

!"b+J0)%+"1,"1"*).+10"+A$1%)&.

G37)*=#1A/<#/<#1A%#4(4-/4%*)#<9<1%&###################################################################L
!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 ?K !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 ?`

8k;[F_
5`MY7a [8!#*4+#8k;[F_#&(+%-<
I5`(0)/"M@,%+',"Y7,30)2%)&."a1.>$1>+K SYSTEM name {
INTERFACE {
STATE {
!"Y+,30)(+"+,-)%(.','$*/'0 REAL xc [xmin,xmax];
BOOL xl; }
INPUT {
REAL uc [umin,umax];
H"#$%&'1%1 BOOL ul; }
PARAMETER {
H"a&>)3 REAL param1 = 1;}
} /* end of interface */
H"a).6"Y@.1')3, IMPLEMENTATION {
AUX { BOOL d;
H"-.%+0G13+, REAL z; }

H"4&.,%01).%, AUTOMATA { xl = xl & ~ul; }


!D$==080C)A39B$='4C).EEF"
DA { z = { IF d THEN 2*xc ELSE -xc }; }

AD { d = xc - 1 <= 0; }

!"#$%&'1%)31**@">+.+01%+"OaY"'&/+*,")."O#:a#Q CONTINUOUS {
xc = z; }

Y&J.*&1/9 http://cse.lab.imtlucca.it/~bemporad/hybrid/toolbox !++/1/(4*-#)%-*1/(4< MUST {


xc + uc <= 2;
0(4<1)*/4/4>#<9<1%&d< ~(xl & ul); }
b+G+0+.3+9 http://control.ethz.ch/~hybrid/hysdel 2*)/*:-%< } /* end implementation */
} /* end system */

!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 ?T !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 ?W


FR*&'-%#7=#[%c4/1/(4#(E#%2%41#2*)/*:-%< PQ9D:2*#$B#6-@2>@*9.#(RLS<#30@?1>-@)
T&.*).+10"1'2*)P31%)&."$.)%

DA { unl = { IF th THEN 2.3*u - 1.3*ut


ELSE u }; }
AD { delta = hmax - h <= 0; }

AD { th = ut - u <= 0; }

!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 ?\ !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 CX

FR*&'-%#C=#_(>/0*-#)%-*1/(4< FR*&'-%#5=#3(41/4B(B<#+94*&/0<
iItK
I59*9"(01=+")G"%E+0+"),"1."1*10'",)>.1*C""($%"
&.*@")G"%E+"%01)."),".&%"&."P0+")."1"%$..+*
uItK

#22*@"G&0J10/"/)]+0+.3+"0$*+9

LOGIC {
brake = alarm & ~(tunnel & fire);
CONTINUOUS {
}
u = u + Ts*iC*i;
}

J(1%=#iC l#7DC#/<#B<%+#+B%#1(#*#:B>#/4#8k;[F_I#1A*1#0*44(1#A*4+-%#+/2/</(4#:9#*#<0*-*)#'*)*&%1%)
!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 C7 !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 C?
FR*&'-%#K=#!B1(&*1(4 FR*&'-%#`=#P&'(<%#*#0(4<1)*/41
<1(' :<$/)1$%&=$<)&2=$G(2)')4'9
0-(<%
('%4

('%4#|#<1(' ('%4

1<$80%( 8&$BB34 $B3%0%(

0-(<% 0-(<%#|#<1('

:/4*)9#/4'B1<=
MUST {
h - hmax <= 0;
:/4*)9#<1*1%<= -h <= 0;
}

AUTOMATA {
xclosing = (uclose & xclosing) | (uclose & xstopped);
xstopped = ustop | (uopen & xclosing) | (uclose & xopening);
xopening = (uopen & xstopped) | (uopen & xopening);
}
!):/1)*)9#-(>/0#0(4<1)*/41<#*)%#*-<(#<B''()1%+

!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 CC !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 C5

$(B40/4>#:*--#%R*&'-% $(B40/4>#:*--#m#@/&%#+/<0)%1/j*1/(4
y(t) > 0 v(t) ≈
y(t) − y(t − 1)
−g = ÿ(t) ≈
v(t) − v(t − 1)
ÿ = −g Ts Ts
y ≤ 0 ⇒ ẏ(t+) = −(1 − α)ẏ(t−)
y 
α ∈ [0, 1]  v(t + 1) = v(t) − Tsg

y(t + 1) = y(t) + Tsv(t + 1)
y <mg 

= y(t) + Tsv(t) − Ts2g

F=-mg N
y(t) ≤ 0 v(t) = −(1 − α)v(t − 1) y(t + 1) = y(t − 1)
= y(t) − Tsv(t)
y

v(t + 1) = −(1 − α)v(t)
y(t + 1) = y(t) − Tsv(t)
5&J"%&"'&/+*"%E+"(&$.3).>"(1**"1,"1"/),30+%+<
%)'+"E@(0)/",@,%+'"k
>&"%&"/+'&""Bdemos/hybrid/bball.m
!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 CK !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 C`
$(B40/4>#:*--##6#8k;[F_#&(+%- $(B40/4>#:*--#6#;/&B-*1/(4
SYSTEM bouncing_ball {
INTERFACE { >>Ts=0.05;
/* Description of variables and constants */ >>g=9.8;
STATE { REAL height [-10,10]; >>alpha=0.3;
REAL velocity [-100,100]; }

>>S=mld('bouncing_ball',Ts);
PARAMETER {
REAL g;
REAL alpha; /* 0=elastic, 1=completely anelastic */
>>N=150;
REAL Ts; } >>U=zeros(N,0);
} >>x0=[5 0]';
IMPLEMENTATION {
AUX { BOOL negative;
REAL hnext;
>>[X,T,D]=sim(S,x0,U);
REAL vnext; }

AD { negative = height <= 0; }

DA { hnext = { IF negative THEN height-Ts*velocity


ELSE height+Ts*velocity-Ts*Ts*g};
vnext = { IF negative THEN -(1-alpha)*velocity
ELSE velocity-Ts*g}; }
CONTINUOUS {
height = hnext; T&%+9".&"l+.&"+]+3%")."/),30+%+"%)'+"m
velocity = vnext;}
}}

>&"%&"/+'&""Bdemos/hybrid/bball.m
!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 CT !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 CW

FNB/2*-%40%<#(E#A9:)/+#&(+%-<

x!IkKC"y!IkK
H%*-/j*1/(4#*4+#@)*4<E()&*1/(4< Σ"
#G;1*1%6;'*0%#89:)/+#,(+%-<L
uIkK
x1(0)_x2(0)

x"IkKC"y"IkK
Σ$

!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 C\ !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#65X


,_[#*4+#.]!#;9<1%&< $(B40/4>#:*--#6#.]!#%NB/2*-%41
JB*7$*+"OaY",@,%+',"1./"c\#",@,%+',"10+"+A$)F1*+.%
>>P=pwa(S);
G$%&'()*+I#Z%))*)/6@)%0*1%I#,()*)/I#!"""#$%&'()))L >>plot(P)

! c0&&G"),"3&.,%0$3%)F+9">)F+."1."OaY",@,%+'")%"0+%$0.,")%,"+A$)F1*+.%"c\#"G&0' >>[X,T,I]=sim(P,x0,U);

! Y01J(13=9")%".++/,"%E+"+.$'+01%)&."&G"1**"2&,,)(*+"3&'().1%)&.,"&G"().10@",%1%+,C"
().10@").2$%,C"1./"δ"F10)1(*+,

! O&,%"&G",$3E"3&'().1%)&.,"*+1/"%&"+'2%@"0+>)&.,"

! 7N3)+.%"1*>&0)%E',"10+"1F1)*1(*+"G&0"3&.F+0%).>"OaY"'&/+*,").%&"c\#"'&/+*,"
1F&)/).>",$3E"1."+.$'+01%)&.9

H)5I)A39B$='4C)J12!%*#$.345")%$+/'.6").7"#8*)$%#5.9%:*(.;"5%!<4.=,#</%!<4.>,'$*/'.%#$".<#.
....1?&%8<4*#$.@%*!*A%'*.32#*.B")/KC)L>>>)D='%8I)5G&$9I)M$%&=IC).EEFI

H)DI)@373=C):INI)D$==080)'%4);I);$='=0C)J12!%*#$.9"(*.1#&/*)<$%"#."6.7"/C"'%$%"#<4.D,-)%(...
....9"(*4'KC)O#MMPE-

!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 57 !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 5?

FR*&'-%=#H((&#1%&'%)*1B)% 8k;[F_#&(+%-
5M)878&39
!"#$%&'&"8;+%6(
uhot ucold
•#n7#1B)4<#1A%#A%*1%)#G!D3L#(4#
Tamb ###MA%4%2%)#A%#/<#0(-+#GA(1L
23'&3=
•#PE#n?#/<#0(-+#A%#1B)4<#1A%#A%*1%)#(4I#
T1 T2 ##B4-%<<#n7#/<#A(1

•#PE#n?#/<#A(1#A%#1B)4<#!D3#(4I#
##B4-%<<##n?#/<#0(-+

•#g1A%)M/<%I#A%*1%)#*4+#!D3#*)%#(a

>>S=mld('heatcoolmodel',Ts) >%1#1A%#,_[#&(+%-#/4#,!@_!$

>>[XX,TT]=sim(S,x0,U); </&B-*1%#1A%#,_[#&(+%-
>&"%&"/+'&""Bdemos/hybrid/heatcool.m
!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 5C !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 55
89:)/+#,_[#&(+%- 89:)/+#.]!#&(+%-
!"OaY"'&/+* !"c\#"'&/+*

>>P=pwa(S);

!"U"3&.%).$&$,",%1%+,9
I%+'2+01%$0+,"T"CT$K

!"U"3&.%).$&$,",%1%+,9 I%+'2+01%$0+,"T"CT$K !"R"3&.%).$&$,").2$%9


!"R"3&.%).$&$,").2$%9 I0&&'"%+'2+01%$0+"T9DEK I0&&'"%+'2+01%$0+"T9DEK

!"U"1$8)*)10@"3&.%).$&$,"F10,9 I2&J+0"n&J,"uF-1C"u?-2TK

!"i"1$8)*)10@"().10@"F10,9 Io"%E0+,E&*/,"?"U"G&0"^b"3&./)%)&.K
!"UV"')8+/<).%+>+0").+A$1*)%)+,
23'&3=)$% Q$&2)$R 5SM)$%

"c&,,)(*+"3&'().1%)&."&G").%+>+0"F10)1(*+,9"U!#_"io" !"e"2&*@E+/01*"0+>)&.,
"""EC<)$%$%"#.("*'.#"$.(*C*#(."#.%#C&$F
!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 5K !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#65`

;/&B-*1/(4#/4#;/&B-/4^ h</4>#,_[#1(#.]!#E()#,(+%-#3A%0^/4>
!"#,,$'+"2*1.%"?"3&.%0&**+0"31."(+"'&/+*+/"1,"Y5#9

<"K9;8)"_"c\#"1220&8)'1%)&."I+6>69".&.*).+10",J)%3E+/"'&/+*K

<"178)$799*$"_",J)%3E+/"*).+10"3&.%0&**+0"I+6>9"1"3&'().1%)&."&G"%E0+,E&*/"
""3&./)%)&.,C"*&>)3C"*).+10"G++/(13="*1J,C"666K

!"\0)%+"5`MY7a"'&/+*C"3&.F+0%"%&"OaYC"%E+."%&"c\#

!":E+"0+,$*%).>"c\#"'12"%+**,"E&J"%E+"3*&,+/<*&&2",@,%+'"(+E1F+,")."
""""/)]+0+.%"0+>)&.,"&G"%E+",%1%+<,213+

OaY"1./"c\#"'&/+*,"10+"+A$)F1*+.%
!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 5T !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#65W
89:)/+#<9<1%&#/+%41/c0*1/(4
! M&'+%)'+,"1")%/0'-!1.-*$"&G"%E+"20&3+,,"I&0"&G"1"210%"&G")%K"31..&%"(+"/+0)F+/"
'1.$1**@"G0&'"1F1)*1(*+"=.&J*+/>+6

! :E+0+G&0+C"1"'&/+*"'$,%"(+"+)%E+0
m F<1/&*1%+#E)(&#+*1*#G&(+%-#B4^4(M4L
m ()#+,-)%(%G*(.:%E()%#/1#0*4#:%#B<%+#E()#0(41)(-D*4*-9</<#G&(+%-#^4(M4#:B1#4(4-/4%*)L

! -G"1"*).+10"'&/+*"),"+.&$>EC".&"20&(*+'9",+F+01*"1*>&0)%E',"10+"1F1)*1(*+"I+6>69"
P+%41/c0*1/(4#(E#89:)/+#;9<1%&< $,+"aS$.>j,"-Y":QpK

! -G",J)%3E).>"'&/+,"10+"=.&J."1./"/1%1"31."(+">+.+01%+/"G&0"+13E"'&/+C".&"
20&(*+'9"J+")/+.%)G@"&.+"*).+10"'&/+*"2+0"'&/+"I+6>69"$,+"aS$.>j,"-Y":QpK

! -G"'&/+,"h"/@.1')3,"'$,%"(+")/+.%)P+/"%&>+%E+0C"J+".++/"

B"#$%&'("()*+'%&*8)%L6;)%78

!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 KX

.]!#/+%41/c0*1/(4#')(:-%& .]!#/+%41/c0*1/(4#')(:-%&
7,%)'1%+"G0&'"/1%1"#7)B"%E+"2101'+%+0,"&G"%E+"1N.+",$('&/+*,";8&"%E+"
210%)%)&."&G"%E+"c\#"'12

2M;+:9*"a+%"%E+"/1%1"(+">+.+01%+/"(@"%E+"c\#bp",@,%+'

.E'N87O8'C5;$&9%8*("I210%)%)&."Hj"=.&J.C"θj"$.=.&J.K9"&0/).10@"*+1,%<,A$10+,"
20&(*+'"I&0"*).+10BA$1/01%)3"20&>01'")G"*).+10"(&$./,"&F+0"θj"10+">)F+.K""
2.4P'KI-Q/2A'EEE

QE'R8<87O8'C5;$&9%8*("I210%)%)&."Hj"1./"θj"$.=.&J.K9
>+.+01**@".&.<3&.F+8C"*&31*"').)'1""!.I>'KI-Q/2AS

!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 K7 !"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 K?


!'')(*0A%<#1(#.]!#P+%41/c0*1/(4
! O)8+/<).%+>+0"*).+10"&0"A$1/01%)3"20&>01'').>
YI)Z$<<C)5I)A39B$='4)'%4)XI)X[G%(C)JI(*#$%J!<$%"#."6.+,-)%(.','$*/'.8%<.
/%:*(K%#$*5*).C)"5)<//%#5KC)5G&$9'&01'C).EEF

! Q&$./+/"+00&0"h"210%)%)&."&G").G+1,)(*+",+%"&G").+A$1*)%)+,
5I)A39B$='4C)5I)@'=G<<0C)#I)T'$<3&&0)'%4)5I)U010%$C)J3.H)**(,.3CC)"<!+.$".I(*#$%J!<$%"#."6.@%*!*A%'*.32#*.9"(*4'KC)
O#MMPE-)S)L>>>)D5M).EEV

! [<'+1.,"3*$,%+0).>")."1"G+1%$0+",213+
@I):3=='=0WD=31'&3C);I);G83<<0C)NI)X0Q3='&0C)'%4);I);$='=0C)J3.!4&'$*)%#5.
$*!+#%?&*.6").$+*.%(*#$%J!<$%"#."6.C%*!*A%'*.<2#*.','$*/'KC)5G&$9'&01'C
.EE-

! Q1@+,)1."1220&13E
YG<$8_0)5C)`03<'%4)#C)O3393<8)`T;OC)J5)A'7380'%)'BB=$'12)&$)043%&0a1'&0$%
$b)27Q=04)878&398I)MNM).EEF

!"^%E+0"1220&13E+,9""
6#.(-94(&/*-#E*01()/j*1/(4#G*->%:)*/0#*'')(*0AL !ZI)U04'<C)#I)#$'&&$C)#I)#'8&=7C).EE-"

6#89'%)'-*4%#0-B<1%)/4>#/4#+*1*#<'*0% !>I);\%]C)UI)^=3Q8C)IB37).EE."

!"#$%&'()*+ ,(+%-#.)%+/01/2%#3(41)(- #5#6 KC

You might also like