45
INTRODUCCIÓN A MATLAB Prof: Mario E. López Acosta

Clase de Introduccion Al Matlab

Embed Size (px)

DESCRIPTION

Introduccion de matlab como comenzar

Citation preview

 
Polinomios
#$u" es %atla&'( %!)ri* +!,oratory
-s un lenua.e de proramación /inicialmente escrito en 01 para
realiar cálculos num"ricos con vectores y matrices 0omo caso
particular puede tam&i"n tra&a.ar con números escalares( tanto
reales como comple.os
 
Elementos básicos del escritorio de Matlab
Command Windows5 Donde se e.ecutan todas las instrucciones y proramas 6e escri&e la instrucción o el nom&re del prorama y se da a -nter
Command istory5 %uestra los últimos comandos e.ecutados en 0ommand 7indo8s 6e puede recuperar el comando 9aciendo do&le
C!rrent directory5 6ituarse en el directorio donde se va a tra&a.ar 
elp /tam&i"n se puede usar desde comand 8indo8s1
 
0ommand
7indo8s
0urrent
directory
0ommand
:istory
Introducción Elementos básicos del escritorio de Matlab
 !&rir el matla& ;sar Vie8 para sacar las ventanas 4ue 9aan falta
Comand Windows5 Donde se e.ecutan todas las instrucciones y proramas 6e escri&e la instrucción o el nom&re del prorama y se da a -nter
:acer e.emplo en l<nea de comandos5 *=2>3( y mirar en 8or?space la varia&le *
C!rrent directory5 6ituarse en el directorio donde se va a tra&a.ar 
elp /tam&i"n se puede usar desde comand 8indo8s1 /<ndice( searc9( D-%O61 Wor"space5 Para ver las varia&les 4ue se están usando
Editor del Matlab5 )odos los fic9eros de comandos %atla& de&en de llevar la e*tensión m -n current directoy crear un fic9ero nuevo main@prue&am( decirles lo de main
0orrer el prorama main@prue&a
 
Al#!nos comentarios sobre la ventana de comandos
6e pueden recuperar instrucciones con las teclas AB
6e puede mover por la l<nea de comandos con las teclas C Ir
al comieno de la l<nea con la tecla Inicio y al final con Fin 0on 
-sc se &orra toda la l<nea
 
Set/Clear breakingpoint 5 0oloca o &orra un punto de ruptura
en la l<nea en 4ue está colocado el cursor 
Clear all breakingpoints:5 ,orra todos los puntos de ruptura
Step: !vana un paso en el prorama
Step in: !vana un paso en el prorama y si en ese paso se llama a una función( entra en dic9a función
Step out: !vana un paso en el prorama y si en ese paso se llama a una función( entra en dic9a función
Continue: 0ontinua e.ecutando 9asta el siuiente punto de ruptura
Quit debugging: )ermina la e.ecución del de&uer
 
Números y operaciones 'atos n!m(ricos:
No 9ace falta definir varia&les enteras( reales( etc como en otros lenua.es  Números enteros5 a=2  Números reales5 *=E32
%á*imo de H cifras sinificativas
223eE3=223>E3
Precisión y formatos: Por defecto tiene un formato corto( pero se pueden usar otros
 JJ format lon /K cifras sinificativas1
 JJ format s9ort / cifras sinificativas1
JJ format s9ort e /notación e*ponencial1
 JJ format lon e /notación e*ponencial1
 JJ format rat /apro*imación racional1
)er en men* de +ile: Preferences , Command Windows 
 
 
Números y operaciones 'atos n!m(ricos: 6on sensi&les a las mayúsculas5 *=( L=M
Información so&re varia&les 4ue se están usando y sus dimensiones /si son matrices15 Wor"space )am&i"n tecleando
-- wo
Para eliminar aluna varia&le se e.ecuta
JJ clear  varia&le varia&le2
6i se 4uieren &orrar todas las varia&les5 JJ clear / o clear all  Para limpiar la pantalla5 -- clc Constantes caracter0sticas5 pi=π( NaN /not a num&er( 1( Inf= 
1*meros comple%os5 i=s4rt/E1 /sólo se puede usar i o .1( =2K>i( =2Ki C!idado con no !sar l!e#o 2i3 como contador en !n b!cle
traba%ando con comple%os.
 
#unciones %enera"es wos +ista las varia&les actuales y su tamao
clear  +impia las varia&les y funciones de la memoria
cd 0am&ie el directorio actual de tra&a.o
dir  Presenta la lista de arc9ivos en el directorio
pwd Indica el directorio de tra&a.o actual
clc +impia el contenido de la l<nea de comandos
eco eco de los comandos en mEfiles
format  !sina el formato de salida /lon( s9or( etc1
 
%ultiplicación5 >( División5
Potencias5 R
 
Números y operaciones +!nciones de Matlab:
e7p4758 lo#4758 lo#9475 /en &ase 218 lo#;475 /en &ase 1( s<rt475
+!nciones tri#onom(tricas5 sin/*1( cos/*1( tan/*1( asin/*1( acos/*1( atan/*1( atan2/*1 /entre Spi y pi1
+!nciones iperbólicas: sin9/*1( cos9/*1( tan9/*1( asin9/*1( acos9/*1( atan9/*1
Otras funciones5 abs475 /valor a&soluto1( int4754parte entera1(  ro!nd475 /redondea al entero más pró*imo1( si#n475 /función sino1
 
 &ectores y matrices 'efinición de vectores:
)ectores filaT elementos separados por espacio o comas y encerrado entre corc9etesT
JJ v =U2 3 K )ectores col!mna5 elementos separados por p!nto y coma /T1
JJ 8 =U2T3TKTMTHTW
6i los datos son números comple.os de&en encerrarse entre parantesis
Dimensión de un vector 85 len#t4w5 Generación de vectores fila5
-specificando el incremento de sus componentes v=a::b -specificando su dimensión n: linspace4a8b8n5 /por defecto
n=1 0omponentes loar<tmicamente espaciadas lo#space4a8b8n5 /n
 
 
 &ectores y matrices 'efinición de matrices: No 9ace falta esta&lecer de antemano su tamao  /se puede definir
un tamao y cam&iarlo posteriormente1
Las matrices se definen por filasT los elementos de una misma fila están separados por &lancos o comas +as filas están separadas por punto y coma /T1
X %=U3 K T Y M WT E
Matriz vac0a5 %=U T
Información de un elemento5 %/(31( de una fila %/2(51( de una columna %/5(31
0am&iar el valor de alún elemento5 %/2(31=T
 
Generación de matrices5
Generación de una matri de ceros( zeros4n8m5 Generación de una matri de unos( ones4n8m5 Inicialiación de una matri identidad eye4n8m5 Generación de una matri de elementos aleatorios rand4n8m5
 !adir matrices5 UL Z columnas( ULT Z filas
 
Operaciones con 'ectores y matrices6peraciones de vectores y matrices con
escalares:
v: vector8 ": escalar:
 
Operaciones con 'ectores y matrices6peraciones con vectores y matrices:
adición o suma  S sustracción o resta > multiplicación matricial > producto elemento a elemento R potenciación R elevar a una potencia elemento a elemento [ divisiónEi4uierda divisiónEderec9a y [ división elemento a elemento matri traspuesta5 >=A3 /en comple.os calcula la
traspuesta con.uada( sólo la traspuesta es >=A.35
 
#unciones para 'ectores y matrices+!nciones de matlab para vectores y matrices: s!m4v5 suma los elementos de un vector 
prod4v5 producto de los elementos de un vector
dot4v8w5 producto escalar de vectores
cross4v8w5 producto vectorial de vectores
mean4v5 /9ace la media1
diff4v5 /vector cuyos elementos son la resta de los elemento de v1
?y8"@=ma74v5 valor má*imo de las componentes de un vector /? indica la posición1( min4v5 /valor m<nimo1 -l valor má*imo de una matri % se o&tendr<a como ma74ma74M55 y el m<nimo min4min4v55
 
#unciones para 'ectores y matrices+!nciones de Matlab para vectores y matrices
Un(m=size4M5 te da el número de filas y columnas
matri inversa: >=inv4M58 rano5 ran"4M5
dia#4M5: O&tencion de la diaonal de una matri s!m4dia#4M55  calcula la traa de la matri !. dia#4M8"5 &usca la ?E"sima diaonal
norm4M5 norma de una matri /má*imo de los valores a&solutos de los elementos de !1
flip!d4M5 reordena la matri( 9aciendo la sim"trica respecto de un e.e 9oriontal. fliplr4M5 5 reordena la matri( 9aciendo la sim"trica respecto de un e.e vertical
 
#unciones para 'ectores y matrices Guardar en fic9eros y recuperar datos5
save nom&re@fic9ero nom&re@matri( nom&re@matri2
load nom&re@fic9ero nom&re@matri( nom&re@matri2
save nom&re@fic9ero nom&re@matri Sascii /uarda W cifras
decimales1
save nom&re@fic9ero nom&re@matri Sascii Sdou&le /uarda Y
cifras decimales1
Po"inomios
+os polinomios se representan en %atla& por un vector fila de dimensión n siendo n el rado del polinomio -.emplo5 *32*EM se representa por 
JJ pol=U 2 EM
0álculo de las ra<ces5 roots /da un vector columna( aun4ue pol es un vector fila1
JJraices=roots/pol1
;n polinomio puede ser reconstruido a partir de sus ra<ces con el comando poly
JJ p=poly/raices1 /da un vector fila1 >>
 
+!nciones de Matlab para polinomios
0alcular el valor de un polinomio p en un punto dado *5 polyval
JJy=polyval/p(*1
0alcular el polinomio derivada: polyder4p5
 
%r()cos *D y +D +!nciones #ráficas 9' y ' elementales
9': plot45 crea un ráfico a partir de vectores con escalas lineales so&re am&os e.es(
JJ plot/L(Z(\opción\1 /opción5 permite eleir color y trao de la curva1
old on: permite pintar más ráficos en la misma fiura /se desactiva con old off5
#rid activa una cuadr<cula en el di&u.o -scri&iendo de nuevo rid  se desactiva
 
%r()cos *D y +D +!nciones #ráficas 9' y ' elementales
9': s!bplot4n8m8"5 su&divide una ventana ráfica se puede en m
particiones 9oriontales y n verticales y " es la su&división 4ue se
activa
9': polar4án#!lo8r5 para pintar en polares
9': fill478y83opción35 di&u.a una curva cerrada y la rellena del color
4ue se indi4ue en ]opción\
': plot es análoa a su 9omóloa &idimensional plot
B plot3/L(Z(^( \opción\1
 
%r()cos *D y +D Elección de la escala de los e%es
a7is/U* * y y1 /2D1( a7is/U* * y y 1 /3D1
a7is a!to5 devuelve la escala a la de defecto
a7is off 5 desactiva los eti4uetados de los e.es desapareciendo los e.es( sus eti4uetas y la malla( a7is on5 lo activa de nuevo
a7is e<!al5 los mismos factores de escala para los dos e.es
a7is s<!are5 cierra con un cuadrado la reión delimitada por los e.es de coordenadas actuales
Para eleir las eti4uetas 4ue aparecen en los e.es5
 
%r()cos *D y +D +!nciones para aadir t0t!los a la #ráfica
title4Dt0t!loD5 aade un t<tulo al di&u.o Para incluir en el te*to el valor de una varia&le num"rica es preciso transformarla mediante 5
int9str4n5 convierte el valor de la varia&le entera n en carácter  n!m9str475 convierte el valor de la varia&le real o comple.a * en
carácter -.emplo5 title/num2str/*11
 7label42te7to35 aade una eti4ueta al e.e de a&scisas 0on 7label off  desaparece +o mismo ylabel42te7to35 o zlabel42te7to35
te7t478y8Dte7toD5 introduce bte*tob en el luar especificado por las coordenadas * e y 6i * e y son vectores( el te*to se repite por cada par de elementos
#te7t4Dte7toD5 introduce te7to con ayuda del ratón
 
%r()cos *D y +D +!nciones de Matlab para #ráficos 9' y '
Imprimir ráficos5 Print /&otón File en ventana ráfica1
Guardar ráficos5 $ave /&otón File en ventana ráfica15 6e crea un
fic9ero fi 4ue podrá volver a editarse y modificarse
-*portar ráficos5 E7port /&otón File en ventana ráfica1
fi#!re4n5: +lamar una nueva fiura o referirnos a una fiura ya
9ec9a
 
y= sin/3 *1e*
y2=cos/3 *1e* 
 
3*2yE=
3yEK=3
 
%r()cos *D y +D epresentación #ráfica de s!perficies 
0reación de una malla a partir de vectores ?F8 G@=mes#rid478y5 Gráfica de la malla construida so&re la superficie ^/L(Z15
mes4F8G8H5( mesc4F8G8H5 /di&u.a además l<neas de nivel en el plano =1
Gráfica de la superficie ^/L(Z15 s!rf4F8G8H5( s!rfc4F8G8H5 pcolor4H5 di&u.a proyección con som&ras de color so&re el plano
/la ama de colores está en consonancia con las variaciones de ^1 conto!r4F8G8H8v5 y conto!r4F8G8H8v5 eneran las l<neas de nivel
 
%r()cos *D y +D epresentación #ráfica de s!perficies  Diferentes formas de representar los pol<onos coloreados5
 sadin# flat: som&rea con color constante para cada pol<ono sadin# interp5 som&rea calculado por interpolación de colores
entre los v"rtices de cada pol<ono  sadin# faceted5 som&reado constante con l<neas neras
superpuestas /opción por defecto1
idden off /desactiva la desaparición de l<neas escondidas1( idden on /lo activa1
%anipulación de ráficos view4azim!t8 elev58 view4?7d8yd8zd@5 rotate48d8a5 o rotate48d8a8o58 ]9\ es el o&.eto( ]d\ es un vector
 
Uan(rad=cart9pol478y58 de cartesianas a polares Uan(rad(=cart9pol478y8z58 de cartesianas a cilindricas
 
;na pel<cula se compone de varias imáenes /frames1
#etframe se emplea para uardar todas esas imáenes Devuelve un vector columna con la información necesaria para reproducir la imaen 4ue se aca&a de representar( por e.emplo con la función plot. -sos vectores se almacenan en una matri M
movie4M8n8fps5 representa n veces la pel<cula almacenada en M a una velocidad de fps imáenes por seundo
L=552>piT
Pro.ramación +iceros de Matlab
+iceros de pro#rama: 6e construyen mediante una secuencia de comandos -l
fic9ero principal se llamará mainJnombre.m
+iceros de f!nción: para crear funciones propias 6on llamados por los fic9eros de
prorama
+a primera l<nea es e.ecuta&le y empiea por la pala&ra function de la forma5
f!nction ar#Jsalida=f!ncionJnombre4ar#Jentrada8 parametros5
-l fic9ero se de&e uardar como f!ncionJnombre.m
 
Pro.ramación inp!t: permite introducir datos5 ae=input/])eclee valor de a\1T disp: muestra un te*to por pantalla5 disp/]-l aloritmo no 9a converido\1 fprintf: permite imprimir te*tos y contenido de varia&les/vectores(
matrices1
$! forma #eneral es: fprintf42formato38variable5
El modo formato contiene el te7to y las especificaciones <!e son:
_e indica 4ue los valores de la matri seran e*presa en notación e*ponencial
_f indica 4ue los valores de la matri seran impresos en notación decimal o en notación fi.a( esto es( el usuario puede especificar el número de cifras sinificativas
_ puede indicar las dos formas arri&a( dependiendo de cual de ellas será la mas corta
Comandos de entrada y salida:
-.emplo5 JJfprintf/]+a temperatura es _f rados 0elsius\( temp1
+a temperatura es K rados 0elsius
JJfprintf/]+a temperatura es _22f rados 0elsius\( temp1
Qesulta en5
 
fminsearc42f!ncion387;5: calcula el m<nimo relativo de una
función más pró*imo a *
 fminbnd42f!ncion28a8b5: calcula un m<nimo de la función en el
intervalo Ua(&
fminsearc42f!ncion387;5: calcula el m<nimo relativo de una
función más pró*imo a *
 fminbnd42f!ncion28a8b5: calcula un m<nimo de la función en el
intervalo Ua(&
6peraciones ló#icas:
if 
end
if 
else
end
if 
elseif 
else
end
':
6e define un polinomio de un cierto rado /e.emplo( n=98
a*R2&*c1( para 9acer la interpolación5 p=polyfit478y8n5. 6i se
4uiere la interpolación en ciertos valores \*i\: yi=polyval4p87i5.
yi = interp478G87i8metodo5. %"todos5 2linear \ /interpolación
lineal1( 3c!bic3 /cú&ica1( 3spline 4spline cú&ica1
9':
 
': <!ad8 <!adl5 interan una función en un intervalo Ua(&
4uad/]funcion\(a(&1 
9': dbl<!ad5 interan una función en un intervalo
U*min(*ma**Uymin(yma*
 
Qesolución de pro&lemas de valores iniciales para ecuaciones
diferenciales ordinarias /OD-s1
solver: aloritmo de resolución de OD-s( odeK( ode23(
ode3( odes(ode23s
matricial
 G;: vector columna de condiciones iniciales en t