TUTORI ALDEM EMA ATLAB I ng.JoséCanchi ña
1
Curso Básico de Matlab
Pr e s e nt ac i ón
Vectores Matrices Funciones de Matrices Funciones de Vectores Ciclos o Bucles Plotteando en Matlab Archivos Ejecutables Subrutinas en Matlab If Archivos Tios Tios de !atos "eneraci#n de $eortes 2
Curso Básico de Matlab
Vect or es Toda l%nea &ue co'ience con( )**+ Es utili,ada ara denotar la l%nea de co'ando de Matlab- donde se insertan los co'andos. Casi todos los co'andos básicos de Matlab /iran en torno al uso de vectores. 0n vector se define oniendo una secuencia de n'eros dentro de corchetes.
**v234 v 2 4
15 1
3
Curso Básico de Matlab
Vect or es Esto crea un nuevo vector &ue tiene el no'bre )v+
El ri'er ele'ento del vector es un 4 6 el se/undo un 1
Matlab i'ri'e una coia del vector desu7s del enter
Si se desea suri'ir el resultado- oner un unto 6 co'a al final de la l%nea **v234
158 * * 4
Curso Básico de Matlab
Vect or es Si se desea ver un vector- escribir el no'bre del vector
** v2
v 4
1
!e esta for'a- se uede definir un vector de cual&uier ta'a9o.
**v234 1 : ;<1 = >5 v2 4 1 :
;<1
=
>
5
Curso Básico de Matlab
Vect or es ?ote &ue esto roduce un vector en for'a de fila. Si se desea crear un vector en for'a de colu'na- se necesita utili,ar la transuesta de un vector de fila. 0na transuesta se define utili,ando un a#strofe ) )
‘
**v234 1 : ;<1 = >5@ v 2 4 1 : ; <1
= > 6
Curso Básico de Matlab
Vect or es
Crear un vector con una secuencia de n'eros con un incre'ento co'n se utili,a el oerador dos untos ) ( ) **v231(5 v 2 1 < 4
=
>
:
Para utili,ar un incre'ento distinto a unodefinir se debe definir el n'ero de inicio- el valor del incre'ento 6 el lti'o n'ero.
7
Curso Básico de Matlab
Vect or es ** v23<(.<=(5 v2 <. <.<= <.= <.:= 4. 4.<= 4.= 4.:= .
Acceder ele'entos individuales en un vector ( **vD1 ans2 < Este co'ando i'ri'e el ele'ento 1 del vector. Se ha creado la nueva variable )ans+ Sie're &ue se lleva a cabo una acci#n &ue no inclu6e una asi/naci#n- Matlab ondrá la eti&ueta )ans+ en el resultado- es decir lleva un re/istro del lti'o resultado.
8
Curso Básico de Matlab
Vect or es
0na ve, &ue se cre# la variable )ans+- si se desea ver una transuesta del resultado( **3(<(5 ans2 < **a ns@ ans2 < >
9
>
Curso Básico de Matlab
Vect or es Matlab er'ite ver ar tes esec%ficas del vector.
**v23(<(5 v2 < > **vD1(4 Se uede utili,ar la 'is'a notaci#n &ue ara crear el vector ans 2 < **vD1(<( ans2 ←
10
Curso Básico de Matlab
Vect or es
0na ve, do'inada la notaci#node'os reali,ar otras oeraciones( **vD1(4;vD<( ans2 ;< ;< ;<
En su 'a6or%a- Matlab utili,a la notaci#n estándar utili,ada en ál/ebra lineal.
11
Curso Básico de Matlab
Vect or es Eje'lo( !efinir un nuevo vector con los n'eros de a ; en asos de ;1.
**u23(; 1(;5 u 2 ;1
;<
;4
;
<
4
Su'ar u con v ( **u Gv ans2
1
12
Curso Básico de Matlab
Vect or es
Ha 'ultilicaci#n 6 divisi#n escalar se definen del si/uiente 'odo(
**;<u ans 2
<
>
**vJ4 ans 2
13
.>>>:
1.4444
<.
Curso Básico de Matlab
<.>>>:
Mat r i ces !efinir una 'atri, es si'ilar a definir un vector. Para definir una 'atri,- se le uede tratar co'o una colu'na de vectores de fila(
**A2 5 A2 1 4 >
31
<
< :
4 =
484
=8>
:
14
Curso Básico de Matlab
Mat r i ces
Si ierde la noci#n de &u7 variables ha definido- el co'ando whos le er'itirá conocer todas las variables &ue tiene en su KorLsace.
** Khos ?a'e v **
Si,e B6tes Class Attributes ans double 1N :< double
11
15
Curso Básico de Matlab
Mat r i ces Ha 'ultilicaci#n 'atri,;vector uede hacerse fácil'ente. Es i'ortante tener en cuidado de &ue las 'atrices 6 vectores ten/an en ta'a9o adecuado.
**v23(<(5 v2 < > **AvD1(4 OOOError usin/ 22* Inner 'atri di'ensions 'ust a/ree. **AvD1( 4@ ans2 1> <
16
>
Curso Básico de Matlab
Mat r i ces
Es osible trabajar con diferentes artes de una 'atri,- del 'is'o 'odo &ue es osible hacerlo con vectores. **AD1(<-4( OOO Inde eceeds 'atri di'ensions. **AD1(<-<(4 ans2 < 4 = **AD1(<-< (4@ ans2 < 4 = Curso Básico de Matlab
Funci onesdeMat r i ces
0na ve, &ue ueda crear 6 'aniular 'atrices- uede llevar a cabo 'uchas oeraciones estándar sobre ellas. Ej'.( Encontrar el inverso de una 'atri, **invDA arnin/( Matri is close to sin/ular or badl6 scaled. $esults 'a6 be inaccurate. $CQ?!2 4.>N:e; 1. ans2 1.eG1= ;<.:<< .=4> ; 1.1 =.4 ;N.:< 4.>
;<.:<<
.=4>
;1.1 Curso Básico de Matlab
Funci onesdeMat r i ces
Qtras osibles oeraciones inclu6en encontrar una aroi'aci#n de los ei/en valores de una 'atri,. Ra6 dos versiones de esta rutina(
0na s#lo encuentra los ei/en valores Ha otra encuentra a'bos- los ei/en valores 6 los ei/en vectores
**ei/DA ans2 1.>> ;1.>> . Curso Básico de Matlab
Funci onesdeMat r i ces
**3v-e5 2ei/DA v2 ;.<>=> ;.N1< ;.>
.: .1N: ;.>4NN ;1.>>
;.< .1>= ; .
Curso Básico de Matlab
Funci onesdeVect or es Su'as 6 restas de vectores. Ej'.( !efinir dos vectores 6 los su'are'os 6 restare'os.
Curso Básico de Matlab
Funci onesdeVect or es
Efectuando las oeraciones(
Curso Básico de Matlab
Funci onesdeVect or es
Efectuando las oeraciones(
Curso Básico de Matlab
Funci onesdeVect or es
Has 'ultilicaciones 6 su'as de vectores 6 'atrices deben se/uir re/las estrictas. ?o es osible su'ar un vector de fila a un vector de colu'na. En una 'ultilicaci#n el n'ero de colu'nas de la 'atri, a la i,&uierda debe ser i/ual al nu'ero de filas de la 'atri, de la derecha.
Curso Básico de Matlab
Funci onesdeVect or es
Curso Básico de Matlab
Funci onesdeVect or es
Matlab er'ite hacer oeraciones a cada ele'ento de una 'atri, o vector. Ej'.( Multilicar cada ele'ento en el vector v con su corresondiente entrada en el vector b 0tili,ar el s%'bolo ) . ) →
Es osible colocar un unto delante de cada s%'bolo 'ate'ático ara indicarle a Matlab &ue se desea &ue la oeraci#n se ha/a en cada entrada del vector.
Curso Básico de Matlab
Funci onesdeVect or es
Curso Básico de Matlab
Funci onesdeVect or es
Si se asa un vector a una funci#n 'ate'ática redefinidare/resará un vector del 'is'o ta'a9odonde cada entrada es encontrada reali,ando la oeraci#n esecificada en la entrada corresondiente del vector ori/inal.
<
Curso Básico de Matlab
Funci onesdeVect or es
Pode'os definir 6 'aniular vectores de /ran ta'a9o del 'is'o 'odo &ue he'os trabajado vectores e&ue9os.
Curso Básico de Matlab
Funci onesdeVect or es
A trav7s de esta 'is'a si'le 'aniulaci#n de vectores- Matlab er'ite /raficar los resultados.
4
Curso Básico de Matlab
Funci onesdeVect or es
A trav7s de esta 'is'a si'le 'aniulaci#n de vectores- Matlab er'ite /raficar los resultados. ** lotD-6-@r@
41
Curso Básico de Matlab
Ci cl osoBucl es
?os er'iten reetir ciertos co'andos
Todas las estructuras de ciclos en Matlab se inician con alabras clave co'o )for+ o )Khile+ 6 ter'inan con la alabra )end+
Ciclos for (
Para indicar a Matlab cuando iniciar 6 cuando arar- se da un vector en el enunciado for 6 Matlab recorrerá cada valor en el vector Curso Básico de Matlab
Ci cl osoBucl es
Por eje'lo en este ciclo si'le se ejecutará cuatro veces- ca'biando cada ve, el valor de la variable j en cada una de las reeticiones. Cuando Matlab lee el enunciado )for+ constru6e un vector31(5 j to'a cada valor dentro del vector- en orden El enunciado for actuali,ará el valor de
j 6 reetirá los enunciados &ue se encuentren dentro del ciclo. 44
Curso Básico de Matlab
Ci cl osoBucl es
!efiniendo un vector 6 ca'biando su contenido osterior'ente.
4
Curso Básico de Matlab
Ci cl osoBucl es
$eali,ar oeraciones en las filas de una 'atri,. Iniciar en la se/unda fila de la 'atri, 6 substraer la fila revia de la 'atri, 6 reetir esta oeraci#n en las si/uientes filas.
4=
Curso Básico de Matlab
Ci cl osoBucl es
Curso Básico de Matlab
Ci cl osoBucl es
Ciclo Khile(
$eite una secuencia de co'andos 'ientras una condici#n se cu'la.
4:
Curso Básico de Matlab
Pl ot t eandoenMat l ab El co'ando plot es utili,ado ara /enerar lots en Matlab Aceta una /ran variedad de ar/u'entos Ej'. ( Si solo &uere'os un lot- le da'os el ran/o- el do'inio 6 el for'ato ** lotD-6-@/o@ Si &uere'os lottear 'as de una /ráfica en una sola i'a/en utili,a'os el co'ando subplot . Matlab tratara a la ventana co'o un arre/lo de lots.
Curso Básico de Matlab
Pl ot t eandoenMat l ab
0na ventana con una fila 6 dos colu'nasdándonos < lots.
4N
Curso Básico de Matlab
Pl ot t eandoenMat l ab
El co'ando clf nos er'ite li'iar co'leta'ente la fi/ura actual.
Curso Básico de Matlab
Pl ot t eandoenMat l ab
Para darle un t%tulo a nuestro lotutili,a'os la funci#n title. Para darle una eti&ueta al eje utili,a'os la funci#n xlabel. Para darle una eti&ueta al eje 6 utili,a'os la funci#n
ylabel. 1
Curso Básico de Matlab
Pl ot t eandoenMat l ab
Curso Básico de Matlab
Pl ot t eandoenMat l ab
Para i'ri'ir un archivo ostscrit del lot actual se utili,a el co'ando print . Ej'. ( Crear un archivo ostscrit lla'ado error.s &ue resida en el directorio actual rint ds error.s rint ddf error.df rint dj/ error.j/
Si asa'os error.s a P!F- ve'os lo si/uiente(
Curso Básico de Matlab
Pl ot t eandoenMat l ab
Curso Básico de Matlab
Ar c hi vosEj ecut abl es
Pri'ero- necesita'os crear un archivo.
El 'ejor editor es utili,ar el editor inte/rado de Matlab.
Per'ite hacer 'aniulaciones sencillas del archivo Editor 'u6 si'le 6 fácil de iniciar. ?o es un editor 'u6 avan,ado. Hos archivos ejecutables de Matlab tienen la etensi#n .'
En este eje'lo creare'os el archivo rectangle_area.m
A continuaci#n- Matlab buscara en el directorio actual or el archivo )rectan/learea+- leera el archivo 6 ejecutará los co'andos en 7l Si Matlab no uede encontrar el archivo- lan,ará el 'ensaje de error ( OOO 0ndefined function or variable @rectan/learea
En este caso- se escribi# 'al el no'bre del ro/ra'a- el no'bre del ro/ra'a es erroneo o el archivo se encuentra en un directorio &ue Matlab no conoce En el lti'o caso- se debe indicar a Matlab en &u7 directorio buscar
Ha lista de directorios en los &ue se buscan archivos se lla'a
path
Curso Básico de Matlab
Ar c hi vosEj ecut abl es
Pri'ero- necesita'os crear un archivo.
El 'ejor editor es utili,ar el editor inte/rado de Matlab.
Per'ite hacer 'aniulaciones sencillas del archivo Editor 'u6 si'le 6 fácil de iniciar. ?o es un editor 'u6 avan,ado. Hos archivos ejecutables de Matlab tienen la etensi#n .'
En este eje'lo creare'os el archivo rectangle_area.m
A continuaci#n- Matlab buscara en el directorio actual or el archivo )rectan/learea+- leera el archivo 6 ejecutará los co'andos en 7l Si Matlab no uede encontrar el archivo- lan,ará el 'ensaje de error ( OOO 0ndefined function or variable @rectan/learea
En este caso- se escribi# 'al el no'bre del ro/ra'a- el no'bre del ro/ra'a es erroneo o el archivo se encuentra en un directorio &ue Matlab no conoce En el lti'o caso- se debe indicar a Matlab en &u7 directorio buscar
Ha lista de directorios en los &ue se buscan archivos se lla'a
path
Curso Básico de Matlab
Ar c hi vosEj ecut abl es Para desle/ar el ath de bs&uedaescribir path
Curso Básico de Matlab
Ar c hi vosEj ecut abl es
Para utili,ar el editor de Matlab ara crear el archivo- escribir ( ** edit rectan/learea.' Matlab nos re/untara si desea'os crear el archivo- a lo &ue indicare'os &ue si(
Curso Básico de Matlab
Ar c hi vosEj ecut abl es
0na ve, &ue el editor aare,ca en la antalla- escribir las si/uientes l%neas de co'andos(
Curso Básico de Matlab
Ar c hi vosEj ecut abl es
Salvar el archivo e ir a la ventana de co'andos 6 'andar lla'ar el archivo escribiendo el no'bre del 'is'o(
En este 'o'ento- debere'os obtener el si/uiente error(
Si se trata de lla'ar el archivo sin haber deUnido ri'ero las variables b 6 h- se obtendrá un 'ensaje de error. Es i'or tante antes de 'andar lla'ar el archivodeUnir todas las variables &ue no est7n deUnidas dentro del 'is'o.
Curso Básico de Matlab
Ar c hi vosEj ecut abl es
Curso Básico de Matlab
Ar c hi vosEj ecut abl es
0na ve, &ue las variables necesarias se han definido- se uede escribir el co'ando rectan/learea Matlab buscara en el directorio actual or un archivo lla'ado rectan/learea.' 0na ve, &ue encuentre el archivo- lo lee 6 ejecuta los co'andos co'o si hubieran sido escritos desde el teclado.
Curso Básico de Matlab
Subr ut i nase nMat l ab
En ocasiones- se desea reetir una secuencia de co'andos ero se desea oder hacerlo con distintos vectores 6 'atrices.
0na for'a de oder hacerlo es utili,ando subrutinas.
Has subrutinas son co'o los archivos ejecutables ero se le ueden )asar+ distintos vectores 6 'atrices a utili,ar.
Curso Básico de Matlab
Subr ut i nase nMat l ab
Curso Básico de Matlab
Subr ut i nase nMat l ab
Para 'andar lla'ar la subrutina(
==
Curso Básico de Matlab
Subr ut i nase nMat l ab
Si desea'os devolver 'ás de un resultado- ode'os hacerlo indicando la lista de resultados a devolver de la si/uiente for'a(
=>
Curso Básico de Matlab
Subr ut i nase nMat l ab
!e este 'odoode'os 'andar lla'ar nuestra funci#n devolviendo sola'ente un resultado Del área en este eje'lo o a'bos Dtanto el área co'o el volu'en
=:
Curso Básico de Matlab
I f
En al/unas ocasiones &uere'os &ue ciertas artes de nuestro ro/ra'a sean ejecutadas nica'ente bajo ciertas circunstancias Ha for'a de hacer esto es utili,ar un enunciado if- cu6a estructura básica ve'os a continuaci#n(
Curso Básico de Matlab
I f 0na estructura condicional 'as co'licada(
Curso Básico de Matlab
I f
Has condiciones son enunciados booleanos 6 se ueden hacer co'araciones estándar. Has co'araciones válidas inclu6en(
Menor &ue * Ma6or &ue 2Menor i/ual &ue *2Ma6or i/ual &ue 22I/ual W2?o es i/ual
Curso Básico de Matlab
I f Racer &ue la variable j sea i/ual a ;1 si a es 'enor &ue b
Racer &ue la variable j sea i/ual a ;1 si a es 'enor &ue b 6 < si es 'a6or &ue b
Curso Básico de Matlab
I f
Racer &ue la variable j sea i/ual a 4 si no se cu'le nin/una condici#n
Curso Básico de Matlab
I f
Se ueden co'robar 'ltiles eresiones booleanas utili,ando los oeradores estándar XYX Dand- Z Dor 6 W Dnot.
Curso Básico de Matlab
Ar c hi vos
Confor'e se trabaja en una sesi#n- se /eneran 'atrices 6 vectores El co'ando utili,ado ara /uardar TQ!QS los datos de una sesi#n es save. El co'ando utili,ado ara traer el conjunto de datos /uardado en un archivo a la sesi#n es load.
Curso Básico de Matlab
Ar c hi vos
"uardar todos los datos resentes en la sesi#n en un archivo lla'ado todo.'at D.'at es la etensi#n ara los datos Matlab
ls es el co'ando ara listar todos los archivos en el directorio actual. En este caso he'os creado el archivo todo.mat &ue contiene a los vectores u 6 v . Curso Básico de Matlab
Ar c hi vos
Hos datos ueden ser car/ados de nuevo en Matlab con el co'ando load.
En este eje'lo- el esacio de datos es li'iado de todas las variables. El contenido de todo el archivo todo.mat es osterior'ente car/ado a 'e'oria. Curso Básico de Matlab
Ar c hi vos
?o es necesario car/ar el total del contenido de un archivo a la 'e'oria. !esu7s de &ue se esecifica el no'bre del archivo es osible listar las variables &ue se desea car/ar searadas or esacios Sola'ente car/ar la variable u en la
'e'oria. >:
Curso Básico de Matlab
Ar c hi vos
El co'ando save funciona eácta'ente de la 'is'a for'a Si sola'ente se desea /uardar un ar de variables- se enlistan dichas variables desu7s del no'bre del archivo searadas or esacios Para conocer 'ás infor'aci#n sobre save- escribir help save Ra6 varias ociones ara for'ato del archivo- etc. Matlab er'ite /uardar los datos /enerados en una sesi#n utili,ando el co'ando diary . ?o &uedan /uardados ara oder ser ejecutados co'o un archivo ejecutable Es til ara entre/ar tareas o ara to'ar notas.
El diario de una sesi#n(
Es iniciado con el co'ando diary se/uido del no'bre del archivo en donde se /uardara el teto. Se/uido de todos los co'andos &ue for'arán el diario Al finali,ar- escribir el co'ando diary solo- lo &ue escribirá una coia eacta de la sesi#n en el archivo 6 lo cerrará.
Curso Básico de Matlab
Ar c hi vos
"enerar un diario en el archivo diario.tt
Curso Básico de Matlab
Ar c hi vos El contenido del archivo diario.txt es el si/uiente(
Curso Básico de Matlab
Ti posdeDat os
Enteros Strin/s Booleanos Celdas Estructuras Variables Si'b#licas Qbjetos
:1
Curso Básico de Matlab
Ti posdeDat os
Conversiones entre tios de datos(
Curso Básico de Matlab
Gener aci óndeRepor t es 0na ve, &ue ter'ina'os nuestro ro/ra'aen ocasiones desea'os /enerar un reor te del 'is'o 6a sea en RTMH-ord- PPT- HaTe[etc... Matlab rovee a6uda ara reali,ar este tio de reortes. El scrit sobre el &ue &uere'os hacer nuestro reorte(
Curso Básico de Matlab
Gener aci óndeRepor t es
Ir al 'en Cell dar clicL en Enable Cell Mode
Para colocar el t%tulo utili,ar )\\ ) lo &ue auto'ática'ente ca'bia el color de fondo identificando la celda
Posterior'ente- con )\+ indica'os la descrici#n.
Curso Básico de Matlab
Gener aci óndeRepor t es
Para crear otra celda )\\ )
Colocare'os de este 'odo la descrici#n de cada etaa de este scrit.
Curso Básico de Matlab
Gener aci óndeRepor t es
0na ve, &ue 6a escribi'os todas las descriciones- dar clicL en la flecha &ue aarece al lado del icono lo &ue nos lleva al editor de confi/uraci#n de las ublicaciones.
Ah% encontra'os los distintos for'atos de salida 6 caracter%sticas de ellos. Al 'o'ento de reali,ar la ublicaci#n hace correr el scrit ta'bi7n.
Ej'. ( Publicaci#n en RTMH
Curso Básico de Matlab
Gener aci óndeRepor t es
Curso Básico de Matlab
Gener aci óndeRepor t es
Para el caso de RTMH- si se desea utili,ar ( ?e/ritas Colocar el teto entre asteriscos teto Italicas Colocar el teto entre /uiones bajos teto
→
→
Curso Básico de Matlab
Gener aci óndeRepor t es
Para insertar una ecuaci#n(
:N
ClicL derecho )Inser t Tet MarLu+ )Te E&uation+
Curso Básico de Matlab
Gener aci óndeRepor t es
?os deslie/a una ecuaci#n default Para conocer las ociones &ue tene'os ara editar las ecuaciones Te(
En la docu'entaci#n escribir )tet roerties+ Seleccionar la se/unda oci#n Bajar hasta encontrar las ociones ara Te
Curso Básico de Matlab
Gener aci óndeRepor t es
Curso Básico de Matlab
Gener aci óndeRepor t es "enerando el c#di/o HaTe[ ara la ublicaci#n(
Curso Básico de Matlab