Professional Documents
Culture Documents
Objetivo
Presentar una introduccin a la programacin con Matlab y el uso de su ambiente de desarrollo. El alumno deber aprender las capacidades y limitaciones de este lenguaje interpretado as como comenzar su uso tanto en la plataforma de desarrollo como en la implementacin de programas en archivos .m l finalizar! el alumno deber ser capaz de manejar con fluidez el conjunto de instrucciones bsicas as como ser capaz de redactar y depurar programas .m "scripts#.
2
Matlab
El nombre M $% & proviene de Matrix Laboratory. El pa'uete de Matlab tiene un gran n(mero de funciones y toolboxes con los cuales se pueden resolver una amplia variedad de problemas de computo! especialmente a'uellos relacionados con operaciones matriciales y vectoriales. En Matlab se pueden escribir programas en tan slo una fraccin de tiempo de lo 'ue costara un desarrollo similar en otros lenguajes de programacin.
rficos
M $% & proporciona herramientas para presentar vectores y matrices de manera grfica! as como para editarla e imprimirlas. )ncluye funciones 'ue permiten modificar la apariencia de las grficas as como desarrollar interfaces grficas 'ue interaccionen con el usuario.
Interfaces e!ternas
%a librera de interfaces e+ternas permite enlazar rutinas de M $% & con programas escritos en , o *ortran.
Introduccin
#epurador
Set/Clear breakingpoint- ,oloca o borra un punto de interrupcin de programa en la lnea en 'ue est colocado el cursor Clear all breakingpoints:- &orra todos los puntos de interrupcin Step: vanza un paso en el programa Step in: vanza un paso en el programa y si en ese paso se llama a una funcin! entra en dicha funcin Step out: vanza un paso en el programa y si en ese paso se llama a una funcin! entra en dicha funcin Continue: ,ontinua ejecutando hasta el siguiente punto de ruptura Quit debugging: $ermina la ejecucin del depurador
,&meros y operaciones
#atos num$ricos:
.o hace falta definir variables enteras! reales! etc. como en otros lenguajes .(meros enteros- a/2 .(meros reales- +/012.2 M+imo de 34 cifras significativas 2.21e01/2.2153601 %recisin y formatos: Por defecto tiene un formato corto! pero se pueden usar otros 77 format long "38 cifras significativas# 77 format short "2 cifras significativas# 77 format short e "notacin e+ponencial# 77 format long e "notacin e+ponencial# 77 format rat "apro+imacin racional#
"ariables
.o se re'uiere 'ue su tipo sea definido! M $% & se encarga
$odas las variables al crearse se definen de doble presicin a menos 'ue se especifi'ue lo contrario.
"ariables
signar
a / 01 b / 2
%istar
Ejemplo de n(meros vlidos0 676668 8796;86e4;6 8i 0e=i 455 57905:;0< 976;;=;e;0 407828=5j
Eliminar
,&meros )omplejos
*orma binmica
z = 3 + 4i
Mdulo y argumento
abs(z) angle(z)
,omplejo conjugado
conj(z)
9epresentacin grfica
plot(z,'*') compass(z)
)onstantes y cadenas
.(mero pi
*ormatos num;ricos
Inf NaN
,adenas de caracteres
'Esto es una ca ena' Esto no
'unciones
3elp elfun
e>plot "+1<3#=+
"ectores
Edicin
u = & = ' = ' = $ 3% "# $ 3% "#,$,3% "#($(3% "#
.ormas
norm(&,$) norm(&,#) norm(&,inf)
3 6.? 6.> 6.8 6.2 6 06.2 06.8 06.> 06.? 03 03 06.> 06.2 6.2 6.> 3
Progresivos
)*)+#*#) linspace(),#,##)
"ectores y Matrices
7 + / @3 2 2 3A +/ 3 2 2 3 7 B / @3 2 1C 2 3 8C 1 2 03A B/ 3 2 1 2 3 2 1 8 03 y/ 3 2 2 3
$ranspuesta y / +D
)oncatenacin de Matrices
7 + / @3 2A! y / @8 2A! z/@6 6A 7 /@+ yA 3 2 8 2 7 & / @+ C yA 32 82 7 , / @+ y CzA
ErrorGGG Error using //7 vertcat , $ arguments dimensions are not consistent.
de elementos sum(u)
*unciones
, = -#*)+)#*# . = tan!(,) plot(,,.)
Matrices
Edicin
/ = "#,$(3,4% 0 = "-# -$ -3 -4%
&lo'ues
1 = "/,0(0,/%
Hub0matrices
14# = 1(#*3,$*4) fil = "#,$,4% col = "#,3,4% 13$ = 1(fil,col)
,olumna- /(*,#)
Jeterminante
K et(/)
)nversa
in&(/)
9ango
ran5(/)
(&ect+ in epen ientes)
?rreglos multi4dimensionales
:na manera de crear arreglos multi0dimensionales es a trav;s de las funciones zeros! ones! rand! o randn con 3! 2 o ms argumentos. E.g.: 9 / randn"1!8!2#C crea un arreglo de 10por080por02 con un total de >6 " 15852 # elementos cuyos valores estn aleatoriamente distribuidos.
Matrices usuales
)dentidad de orden n.ula de tamaLo mMnMatriz de unosMatriz aleatoriaMatriz de Nilberte.e(n) zeros(m,n) ones(m,n) ran (m,n) !ilb(n)
3# En E+cel seleccione los datos y presione la opcin de copiar 2# Naga doble clicF en la variable donde desee guardar los datos Esta accin abrir el editor de arreglos de M $% & 1# Jentro del Editor haga clicF derecho en el primer elemento y seleccione OPaste E+cel JataP
?rreglos multivariables
El elemento "i!j# se refiere a la observation Q i de la variable j.
@ *eig3t
J / @ E2 318 1.2 ?3 263 1.2 >4 32> E.3 ?2 38? 2.8 E2 3E6 3.2 A hora se pueden emplear funciones de anlisis de M $% & para este set de datos. E.g.- mu / mean"J#! sigma / std"J#
mu / E2.? 3>3.? 22.844 1.8? 2.236E sigma / 2.>161
%olinomios
p" x # = x 5x + 34 x7 3
2 3 3 2
M $% & respaldar los datos o los tomar de archivos listados en la ruta proporcionada o del actual directorio
Para respaldar use77 save *ileR.ame @variable variable SA Para cargar use 77 load *ileR.ame @variable variable SA
rficos
M $% & provee una variedad de herramientas para el desplige y visualizacin grfica de los datos. Permite al usuario manipular de manera interactiva ciertos aspectos de los grficos! tales como! punto de vista! escala! etc. de manera 'ue permitan una mejor visualizacin de la informacin %os grficos tamben pueden ser editados! imprimidos o e+portdos a distintos formatos y pa'uetes de cmputo.
10
CC ! / D6:678:;EpiFG CC y / sin-!.G CC plot-!1 y1 HbE4H. CC 3old on CC plot-!1 yE;1 Ir74H. CC title-HJin %lotsH.G CC legend-Hsin-!.H1 H;Esin-!.H.G CC a!is-D6 97; 4; ;F. CC !label-I!K.G CC ylabel-IyK.G CC 3old off
y
sin(x) 2*sin(x)
3 x
Plotting data
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1
10
10
12
10
20
30
40
50
60
70
80
90
100
%lot vs Jtem
0 .7 0 .6 0 .5 0 .4 0 .3 0 .2 0 .1
77 +/linspace"6!85pi!366#C 77 y/sin"+#C 77 y3/e+p"0+=1#C 77 y2/y.5y3C Z mult 30a03 77 plot"y# 77 plot"y2# 77 stem"y# 77 stem"y2#
0 -0 .1 -0 .2 -0 .3 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 1 0 0
0 .7 0 .6 0 .5 0 .4 0 .3 0 .2 0 .1 0 -0 .1 -0 .2 -0 .3 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 1 0 0
#isplay 'acilities
0.7 0.6
plot".#
Example: >>x=linspace(0,4*pi,100); >> =sin(x); >>plot( ) >>plot(x, )
stem".#
Example: >>stem( ) >>stem(x, )
0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -0.1 -0.2 -0.3 0 10 20 30 40 50 60 70 80 90 100
Polares
polar
Param;tricas
plot 77 help graph2d
236 286 2E6 166 116
Opciones grficas 0#
Malla transparente 9 mes!(,,.,z), !i en off Huperficie color degradado sin malla 9 surf(,,.,z), s!a ing interp Mapa fsico 9 pcolor(,,.,z), !ol 9 contour(,,.,z,'5')
77 help graph1d
on < 5 es negro
Opciones grficas 0#
E.g.- se trata de visualizar la funcin-
Opciones grficas 0#
E.g.Para la malla x&y x / 01 a 1 y paso de 6.3 mientras tambi;n se define y / 01 a 1 y paso de 6.3
77 @+!yA / meshgrid"01-.3-1!01-.3-1#C 77 z / 15"30+#.^2.5e+p"0"+.^2# 0 "y<3#.^2# ... 0 365"+=2 0 +.^1 0 y.^2#.5e+p"0+.^20y.^2# ... 0 3=15e+p"0"+<3#.^2 0 y.^2#C 777 surf"z#C
Operadores lgicos
%os operadores lgicos permiten interrogar variables o estructuras de datos con la finalidad de obtener informacin 'ue ayude a controlar el flujo de ejecucin los programas o generar nuevas estructuras de datos "logical indexing#.
_peradores lgicos relacionales Mayor 'ue- C Menor 'ue- S Mayor o igual 'ue- C/ Menor o igual 'ue- S/ )gual 'ue- // Jiferente 'ue- T/
%a operacin r#log)ind% finalmente presenta los datos en r de las localidades correspondientes donde logRind tiene unos -true.
Operadores Xooleanos
_peradores &ooleanos .J- V _9- W ._$- T ,onecta 2 e+presiones lgicas
?,# ? 6 6 8 8 X 6 8 6 8 Besultado 6 8 8 8 ? 6 6 8 8 X 6 8 6 8
OB Besultado 6 6 6 8 ? 6 8
,OO T? 8 6
Operadores Xooleanos
EYEM%LOJ:
?/6 X / false ) / 8 #/< '/D686; 6 0 6 8F %robar: CC? V X CC? V ) CC? V # CC? W X CC? W ) CC? W # CC T? CC TX CC T) CC T' CC T?V) CC T) V ' E / true
CC? V E CC? W E CC T#
Operadores Xooleanos
EYEM%LOJ:
?/6 X / false '/D686; 6 0 6 8F )/8 #/< E / true
Operadores Xooleanos
EYEM%LOJ:
?/6 X / false '/D686; 6 0 6 8F )/8 #/< E / true
CC T? / 8 CC TX / 8 CC T) / 6 CC T# / 6 CC TE / 6 CC T' /D8 6 8 6 CC T?V) / 8 CC T) V ' / D6 6 6 6 8 6 8 6F 6 6 6 6F EE %ara comparaciones matriciales1 las operaciones booleanas se reali>an elemento4por elemento
Operadores Xooleanos
Orden de precedencia:
,uando se ejecutan m(ltiples operaciones lgicas al mismo tiempo sin estar separadas por par;ntesis! la operacin de negacin : + #,-.% se eval(a primero! seguida con la y lgica : / #0,1% y finalmente por la o lgica : 2 #-3%
%rogramacin en Matlab
)onditional )ontrol
0 if! else! elseif 0 sBitch! case
Loop )ontrol
4 for! Bhile! continue! breaF
Error )ontrol
0 try! catch
%rogram Oermination
4 return
%as operaciones de control de flujo de programa permiten operar a M $% & mas all de una simple calculadora! convirti;ndolo en un lenguaje de alto nivel. El control de flujo se realiza mediante e+presiones condicionales y de control de ciclo
E!presiones condicionales
If1 Else1 and Elseif
` %a e+presin if condiciona la ejecucin de un grupo de instrucciones! a partir de una comparacin lgica. Jichas instrucciones slo se ejecutan en caso 'ue el resultado de la comparacin resulte positiva -true.7 %a lista de las instrucciones condicionadas alcanza su final al encontrarse la e+presin reservada end7 Para el caso 'ue el resultado de la comparacin lgica resulte negativa! todos las instrucciones condicionadas son omitidas de la ejecucin En cual'uier caso! el resto del programa continuar ejecutandose a partir de la e+presin reservada end
` ` `
E!presiones condicionales
?/9 X/6
E!presiones condicionales
If1 Else1 and Elseif
` %a e+presin else permite la ejecucin de un segundo grupo de instrucciones delimitadas nuevamente por la e+presin reservada end1 si y slo si el resultado de la e+presin if result negativa -false.7 Es decir 'ue slo uno de los sets de instrucciones podr ser ejecutado por cada vez 'ue se eval(e la e+presin condicional.
if o"para i4nUlogi a pri"er set de instru iones else segundo set de instru iones end
E!presiones condicionales
?/9 if ? C 9 # / D8 ; 9F ?/?Z8 else # / D 6 6 6F ?/?48 end X/6 if ? V X E / mean-X. else E/6 end
E!presiones condicionales
If1 Else1 and Elseif
` %a e+presin elseif fuerza la ejecucin del grupo de instrucciones delimitadas bajo su campo de accin si y slo si el resultado de la e+presin if result negativa -false. y si el resultado de su comparacin lgica relacionada result positiva-true.7
if o"para i4nUlogi a pri"er set de instru iones elseif o"para i4n)l4gi a)2 segundo set de instru iones elseif o"para i4n)l4gi a)3 ter er set de instru iones end
E!presiones condicionales
?/9 X/6 if ? C 0 # / D8 ; 9F ?/?Z8 elseif ? C ; #/#Z8 ?/?Z; end EE ?mbas e!presiones1 la if y la elseif son evaluadas cada ve>7
E!presiones condicionales
s+itc3
` ` %a e+presin s5it ! act(a como una serie de e+presiones if-elseif. Hlo una de las e+presiones evaluadas podr ser verdadera -true. cada vez! lo 'ue llevar a 'ue slo el conjunto de instrucciones ejecutadas se ejecute.
s+itc3 expresionUl4gi a #valor o string% case valor)1 pri"er set de instru iones case valor)2 segundo set de instru iones case valor)n n set de instru iones end
E!presiones condicionales
?/9 X/6 s+itc3 ? case 2 # / D 6 6 6F ?/?48 case = X/8 case 9 # / D8 ; 9F ?/?Z8 EE Jlo el caso 9 es evaluado end
)iclos
` %os ciclos son una parte para el control de flujo de programa permitiendo a M $% & ejecutar repetidamente una serie de instrucciones de manera especfica y controlada ` %a repeticin de dichas inctrucciones se realiza principalmente mediante dos tipos de ciclos3. ,iclos 6or 2. ,iclos 7!ile
)iclos
'OB
` %a e+presin for permite la ejecucin de una instruccin o conjunto de instrucciones un n&mero predeterminado de veces.
for 8ndi e9valor)ini ial:in re"ento:valor)final onjunto de instru iones end EE Hi [in re"ento: no est especifcado! M $% & considerar ese valor / 3
)iclos
'OB
for i 9 1 : 1 : 1;; x#i% 9 ; end
signa 6 a los primeros 366 elementos del vector x Para el caso de 'ue x no e+ista o 'ue contenga menos de 366 elementos! espacio adicional ser aLadido automticamente
)iclos
'OB
` ,omo en otros lenguajes de programacin! M $% & permite anidar varios ciclos en el cdigo. ?/DF for i 9 1:" for j 9 1:n 0#i&j% 9 i < j end end
He crea una matriz de " por n cuyos elementos contienen la suma de su position en la matriz
)iclos
*HILE
` %a e+presin 5!ile ejecuta una instruccin o conjunto de instrucciones de manera repetida mientras la e!presinUlgica de control sea verdadera.
)iclos
*HILE
? / 9G X / 8=G +3ile 0 = ; / > ? 1; 090<1 >9>-2 end
El ciclo 5!ile incrementar el valor de y decrementar el de & por cada ciclo hasta 'ue las 2 condiciones en la e+presin se cumplan 55 Para prevenir entrar en un ciclo infinito! se re'uiere 'ue las comparaciones lgicas 'ue eval(a el 5!ile se cumplan en alg(n momento.
)iclos
*HILE
? / 9G X / 8=G +3ile 0 = ; / > ? 1; @f 0 ? ; 090<1 elseif > = 1; >9>A2 end end
E+presiones condicionales puden ser anidadas dentro de los ciclos! permitiendo modificar de manera interna algunas variables
)iclos
*HILE
? / 9G X / 8=G +3ile 0 = ; / > ? 1; @f 0 ? ; 090<1 elseif > = 1; >9>A2 end end
E+presiones condicionales puden ser anidadas dentro de los ciclos! permitiendo modificar de manera interna algunas variables
)iclos
'inali>acin de ciclos
` %a e+presin break es una instruccin 'ue permite terminar de manera inmediata la ejecucin de los ciclos for y 5!ile ` ,uando en el cdigo se encuentra un break! M $% & terminara dicho ciclo y sigue la ejecucin con la primera instruccin 'ue encuentre fuera de ;ste.
)iclos
'inali>acin de ciclos
? / 9G X / 8=G count / 8 +3ile 0 = ; / > ? 1; 090<1 >9>A2 ount 9 ount < 1 if ount = 1;; break end end
En caso de 'ue las condicones del ciclo Bhile no terminen com el ciclo! despu;s de 366 repreticiones el breaF se ejecutar terminando con el programa
'\,)IO,EJ
'unciones
:na funcin es una rutina 'ue realiza operaciones con la variable de entrada 'ue se le pasan
El paso de variables a funciones se realiza a trav;s de incluir en la llamada a la funcin los nombres de las variables flan'uedas por par;ntesis
functionRname"input#
'unciones
El resultado de las funciones puede ser guardado a su vez en una variable
'unciones
Para obtener ayuda sobre como usar la funcin se puede usar las instrucciones !elp o lookfor
,on esto se desplegar la informacin de como se usa dicha funcin y 'ue es lo 'ue hace
'unciones
M $% & tiene integradas muchas funciones estadsticas lo 'ue facilita el anlisis de muchas operaciones y datos.
sum a Huma el contenido del vector=matriz enviado prod a _btiene la multiplicacin de la variable enviada mean a ,alcula el promedioe median a ,alcula la media mode a ,alcula la Moda std a ,alcula la desviacin estandar s'rt a ,alcula la raiz cuadrada ma+ a Encuentra el valor m+imo dentro de la variable min a Encuentra el mnimo size a 9egresa el tamaLo de la variable
'unciones
l pasar un vector! las funciones su"& "ean& "edian& std! etc. calcularn el resultado apartir de los datos contenidos en ;l.
77 sum"@3!2!1!8!2A# / 32 77 mean"@3!2!1!8!2A# /1
,uando se le pasan a las funciones matrices! el clculo se realiza por default sobre las columnas
'unciones
Para cambiar el sentido sobre el 'ue se hacen las operaciones se le debe indicar a M $% & de la siguiente manera
77 functionR.ame"input! 2#
'unciones
Je esta manera se puede incluso aLadir los resultados a la propia matriz. E.g.- el promedio y la desviacin estndar
'unciones especiales
pi i or j Inf NaN / 1.383242>2S. / raiz cuadrada de 03 "imaginarios# / infinito / not a number
"ariables globales
Hi se re'uiere compartir el valor de una o ms variables entre distintas funciones de un programa! la variable deber declararse como variable global en todas las funciones
%a declaracin deber ocurrir antes de 'ue la variable sea utilizada en cada funcin.
E.g.-
Jcripts y 'unciones
E+isten dos tipos de archivos0M0 Jcripts! los cuales no aceptan argumentos de entrada ni regresan resultados. Ellos operan con datos en el espacio de trabajo. ,ual'uier variable 'ue ellos creen 'uedar respaldada en el espacio de trabajo y podr ser empleada en subsecuentes operaciones. 0 'unciones! son las rutinas 'ue aceptan argumentos y regresan resultados. En estos casos las variables internas son locales a la funcin. Para el caso de 'uerer compartir ms resultados se usan las variables globales.
\so de arc3ivos 7m
Presione para crear un nuevo archivo .m
` Hu e+tensin debe ser O.mP para ser reconocido por M $% & como tal
\so de arc3ivos 7m
Denem430.m
Hi se incluye el OCP al final de cada lnea o instruccin su resultado no ser mostrado inmediatamente
'unciones propietarias
%as funciones son en realidad archivos .m los cuales pueden ser ejecutados especificando ciertas entradas y salidas deseadas. %a instruccin para decirle a M $% & 'ue un archivo es en realidad una funcin es fun tion out3/nombreRfuncin"in3# fun tion out3/nombreRfuncin"in3!in2!in1# fun tion @out3!out2A/nombreRfuncin"in3!in2# .ota- He debe escribir dicho comando al inico del archivo .m y se debe salvar dicho archivo con el mismo nombre con el 'ue la funcin fue definida
'unciones propietarias
Para la funcin- out/s'uarer " ! ind#
!ismo nomb"e
)omentarios
He utiliza el smbolo B para 'ue el int;rprete de M $% & omita cual'uier te+to despu;s de dicho caracter dentro de esa lnea "e'uaivalente al uso de // en lenguaje ,#. En algunos casos es necesario disminuir la velocidad de ejecucin de algunas instrucciones! para lo anterior se puede usar la instruccin pause.
77 pause Z espera hasta 'ue se presione una tecla 77 pause"1# Z espera 1 segundos
Simulink
Used to model, analyze and simulate dynamic systems using block diagrams. Provides a graphical user interface for constructing block diagram of a system therefore is easy to use. However modeling a system is not necessarily easy !
JimulinA
Model simplified representation of a system e.g. using mathematical e uation !e simulate a model to study the behavior of a system need to verify that our model is correct e"pect results Knowing how to use Simulink or M !" # does not mean that $ou know how to model a s$stem
JimulinA
Problem# !e need to simulate the resonant circuit and display the current waveform as we change the fre uency dynamically.
i $aries from % to &%%% rad's Z v"t# / 2 sin t ] (bserve the current. %hat do we e&'e(t ) 6.63 N 36 366 u*
!he am'litude of the (urrent wa*eform will +e(ome ma&imum at resonant fre,uen($- i.e. at = 1000 rad.s
JimulinA
di + v = i- + , + idt dt *
JimulinA
+ dv di - d i i = + &+ , dt dt , dt ,*
1aking ,aplace transform#
&
s$ 2 & = s2 + s 2 + , , ,*
s$ + & = 2 s + s + , , ,*
JimulinA
JimulinA
5tart 5imulink by typing simulink at 6atlab prompt 5imulink library and untitled windows appear
JimulinA
simout
JimulinA
s4+' ,3 + & s + s+ , ,*
100s
Transfer Fcn
JimulinA
eg<Usim7mdl
i To Workspace
S*rom initial problem definition! the input is 2sin"bt#. ]ou should be able to decipher Bhy the input BorFs! but you do not need to create your oBn input subsystems of this form.
JimulinA
1 0.5 0 -0.5 -1
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
JimulinA
eg5Usim7mdl
1he waveform can be displayed using scope similar to the scope in the lab
5 Constant1 100s 2000 Constant 0.802 Slider Gain 1 sin s2+1000s+1e6 Scope T ransfer Fcn s Dot Product2 Integrator Elementary M ath
MATLAB MATLAB Demos Demos M?OL?X M?OL?X 3as 3as remarAable remarAable grap3ics grap3ics capacities: capacities:
`` `` `` `` `` ;4# ;4# and and 04# 04# plots1 plots1 Line Line plotting1 plotting1 04# 04# surface surface plot1 plot1 Jplas3 Jplas3 screen screen plot1 plot1 %lot %lot of of comple! comple! functions functions and and 777 777
MATLAB MATLAB Demos Demos M?OL?X M?OL?X 3as 3as many many toolbo!es: toolbo!es:
`` )ontrol )ontrol toolbo! toolbo! is is one one of of t3e t3e important important toolbo! toolbo! in in M?OL?X7 M?OL?X7 `` BL) BL) )ircuit )ircuit Besponse1 Besponse1 `` ain ain and and %3ase %3ase Margins1 Margins1 `` ,otc3 ,otc3 'ilter 'ilter #iscrete1 #iscrete1 `` %I# %I# and and 777 777
MATLAB MATLAB Demos Demos JimulinA JimulinA 3as 3as t3e t3e ability ability to to simulate simulate a a large large range range of of systems1 systems1 from from very very simple simple to to e!traordinarily e!traordinarily comple!7 comple!7 O3e O3e Model Model and and demonstrations demonstrations t3at t3at you you +ill +ill see see in in t3is t3is section section include include bot3 bot3 simple simple and and comple! comple! systems7 systems7