Você está na página 1de 55

Francisco Godio Cevallos

ric@telematic.edu.pe
Marzo - 2000
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
INDICE
INTRODUCCION
PRIMERA PARTE
Uso bsico de MATLAB
PAG
4
13
1. Generadades 13
1.1. Mane|o de varabes 14
1.2. Mane|o de expresones 14
1.3. Mane|o de comandos 15
1.4. Mane|o de archvos con extensn .m 15
2. Comandos Bscos de Programacn 16
2.1. Comando END 16
2.2. Comando IF 16
2.3. Comando WHILE 17
2.4. Comando FOR 19
2.5. Comando PLOT 20
2.6. Funcones de dos varabes 22
2.7. Comando DISP 23
2.8. Comando INPUT 24
SEGUNDA PARTE
Comandos Bsicos Matemticos 26
1. Vectores y matrces 26
1.1. Operacones matemtcas smpes con matrces y
vectores
27
1.2. Comandos matemtcos para vectores 28
1.2.1. Comando NORM 28
1.2.2. Comando MIN 29
1.2.3. Comando MAX 31
1.2.4. Comando CROSS 32
1.2.5. Comando LENGTH 32
1.3. Comandos Matemtcos para Matrces 33
1.3.1. Comando NORM 33
1.3.2. Comando MIN 33
1.3.3. Comando MAX 33
1.3.4. Comando SIZE 33
1.3.5. Comando EIG 34
1.3.6. Comando INV 36
1.3.7. Comando DET 37
TERCERA PARTE
Aplicaciones Bsicas de MATLAB 38
1. Modea|e de Sstemas Lneaes 38
1.1. Denendo matrces 39
1.2. Matrces especaes 40
1.3. Artmtca de matrces 40
2. Soucn de Sstemas Lneaes 42
3. Interpoacn Ponoma 46
3.1. Funcn MATLAB para os Mnmos Cuadrados 50
4. Nmeros Reaes y Compe|os 51
4.1. Asgnacn de vaores a varabes 51
4.2. Operacones matemtcas smpes 51
4.3. Comando matemtcos para nmeros (Compe|os y
Reaes)
53
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( ) de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
4.3.1. Comando ABS 53
4.3.2. Comando SORT 54
4.3.3. Comando ANGLE 54
5. Integraes Dendas 56
5.1. Comando TRAPZ 56
5.2. Creacn de vectores "decentes" 57
6. Grcas 58
E|erccos de Apcacn 61
Referencas 68
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( + de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
INTRODUCCION
E nombre de MATLAB provene de a contraccn de os trmnos MATrx
LABoratory y fue ncamente concebdo para proporconar fc acceso a as
breras LINPACK y EISPACK, as cuaes representan hoy en da dos de as
breras ms mportantes en computacn y ccuo matrca.
MATLAB es un entorno de computacn y desarroo de apcacones
totamente ntegrado orentado para evar a cabo proyectos en donde se
encuentren mpcados eevados ccuos matemtcos y a vsuazacn
grca de os msmos. MATLAB ntegra anss numrco, ccuo matrca,
proceso de sea y vsuazacn grca en un entorno competo donde os
probemas y sus soucones son expresados de msmo modo en que se
escrbran tradconamente, sn necesdad de hacer uso de a programacn
tradcona.
En os medos unverstaros MATLAB se ha convertdo en una herramenta
bsca, tanto para os profesonaes e nvestgadores de centros docentes,
como una mportante herramenta para e dctado de cursos unverstaros,
taes como sstemas e ngenera de contro, gebra nea, proceso dgta
de magen, sea, etc. En e mundo ndustra MATLAB est sendo utzado
como herramenta de nvestgacn para a resoucn de compe|os
probemas panteados en a reazacn y apcacn de modeos
matemtcos en ngenera. Los usos ms caracterstcos de a herramenta
os encontramos en reas de computacn y ccuo numrco tradcona,
prototpa|e agortmco, teora de contro automtco, estadstca, anss de
seres temporaes para e proceso dgta de sea.
MATLAB es a dsponbdad de os tooboxes especazados. Estos son
paquetes especazados, orentados a ngeneros, centcos y otros tpos de
profesonaes tcncos. Entre os ms destacados estn:
Procesamento de Sea
The MATLAB C Math Lbrary
Matemtcas Smbcas
Procesamento de Imagen
The MATLAB Comper
Redes Neuronaes
Estadstca
Spnes
Dseo de Sstemas de
Contro
Contro Robusto
Identcacn de Sstemas
Optmzacn
Smuacn
Dseo de Contro no
Lnea
Lgca Dfusa
NAG Fundaton Toobox
Para ncar MATLAB, seecconamos e programa MATLAB de un men de
sstema.
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( , de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
y aparece a sguente ventana de MATLAB, que nos dce que MATLAB est
esperando que ntroduzcamos un comando.
Segudamente se presentan comandos ms usados.
o Para sar de MATLAB, use !it o e"it.
o E comando clc despe|a a ventana de comandos, y e comando cl#
borra a gura actua y por tanto despe|a a ventana de grcos.
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( * de **
"A$R
-.BL$
LI A/0
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
o E comando clea$ no afecta a as ventanas, pero s borra todas as
varabes de a memora
o Para ver agunas de as capacdades de MATLAB, usar e comando
demo, que nca e MATLAB EXPO, un entorno grco de
demostracn que ustra agunos tpos de operacones que se pueden
reazar con MATLAB.
o Para abortar un comando en MATLAB, mantener presonada a teca
de contro y oprma c (Ctr. + c). Esto ocasona un nterrupcn oca
dentro de MATLAB.
o Para acceder a men de ayuda se debe usar e comando %elp.
o E smboo "" denota e prompt de MATLAB y no se escrbe a entrar
nstruccones.
o E ";" a na de a nstruccn omte e "eco" o sada a a pantaa.
E"%ibici&n de N'me$os(
Comando MATLAB E"%ibici&n E)emplo
format short
format short e
format ong
format ong e
format bank
format hex
format +
Por omsn
4 decmaes
14 decmaes
15 decmaes
2 decmaes
exp.
hexadecma
+, -, espaco
2.3333
2.3333e+000
2.33333333333333
2.333333333333334e+000
2.33
4002aaaaaaaaaaab
+
Ope$aciones A$itm*ticas(
ESCALAR MATRI+ ,ECTOR DESCRIPCI-N
. . . Adcn
/ / / Sustraccn
0 0 10 Mutpcacn
2 2 1 2 Dvsn haca a derecha
3 3 3 1 Dvsn haca a zquerda
4 5 16 Transposcn
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( 1 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
Ope$ado$es Relacionales
OPERADOR DESCRIPCI-N
7 meno$ !e
7 8 meno$ o i9!al
!e
: ma;o$ !e
: 8 ma;o$ o i9!al
!e
8 8 I9!al
< 8 no i9!al
Ope$ado$es L&9icos
OPERADOR DESCRIPCI-N
& Y (and)
| O (or)
- NO (not)
Combinaciones(
P = < P P >= P?=
faso Faso Verdadero Faso faso
Faso verdadero Verdadero Verdadero faso
Verdader
o
Faso Faso Verdadero faso
Verdader
o
verdadero Faso verdadero verdadero
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( 2 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
Ca$acte$es Especiales(
CARACTERES DESCRIPCI-N
@ A Se utzan para formar vectores y matrces
B C Dene precedenca en expresones artmtcas. Encerra
argumentos de funcones en forma usua
D Separador de eementos de una matrz, argumentos de
funcones y decaracones en neas con decaracones
mtpes
E Separador de decaracones, termna rengones de una
matrz
E)emplos Bsicos
>> 13/3
ans =
4.3333
>> 3\13
ans
4.3333
>> 411
ans
4194304
>> 2*p3
ans
62.01255336059963
a = |0 1 2 3 4 5 6 7 8 9 10|
a=
0 1 2 3 4 5 6 7 8
9 10
b= a + 3
b =
3 4 5 6 7 8 9
10 11 12 13
t = 0:2:20
t =
0 2 4 6 8 10 12 14 16 18
20
c= a+b
c =
3 5 7 9 11 13
15 17 19 21 23
d = |1; 3; 5|
d =
1
3
5
d
ans =
1 3 5
f = |4; 6; 9|
f =
4
6
9
>> d*f
??? Error usng ===> *
Inner matrx dmensons
must agree.
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( 3 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
>> d.*f
ans =
4
18
45
>> d * f
ans =
4 6 9
12 18 27
20 30 45
>>d.*f
??? Error usng ==> .*
Matrx dmensons must
agree.
>> d*4
ans =
4
12
20
>>f.*4
ans =
16
24
36
44a52
ans =
0.1429
0.4286
0.7143
44 a.52
ans =
0.1429
0.4286
0.7143
>> df
??? Error usng ==>
Matrx dmensons must
agree.
>> d.f
ans =
1
729
1953125
>> d 2
??? Error usng ==>
Matrx must be square.
>> d.2
ans =
1
9
25
>> 3`d
??? Error usng ==>
Matrx must be square.
>>3.d
ans =
3
17
),+
Para entrar a matrz
0 2
3 4
y o guardamos en una
varabe a,
>> a = |1 2; 3 4|
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( 6 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
Para redspay a matrz,
smpemente tecee su
nombre:
>> a
Prmero eevemos a
cuadrado a matrz a:
>> a*a
Ahora nosotros
probaremos ago un poco
ms dcutoso. Prmero
denmos una matrz b:
>> b = |1 2; 0 1|
Entonces nosotros
computamos e producto
a*b:
>> a*b
Fnamente, efectuamos e
producto en e otro orden:
>> b*a
Sabemos que os dos
productos son dferentes:
porque a mutpcacn
de matrces es no
conmutatva.
Por supuesto, tambn
podemos sumar matrces:
>> a + b
Ahora guardemos e
resutado de esta suma
para que nosotros
podamos usaro despus:
>> s = a + b
Las matrces a veces
puede nvertrse:
>> nv(s)
Para vercar que esto es
correcto, nosotros
computamos e producto
de s y su nverso:
>> s * nv(s)
E resutado es a undad,
o matrz de dentdad.
Tambn podemos escrbr
e cmputo como
>> s/s
tambn podemos escrbr
>> s\s
qu es gua que
>>nv(s) * s
Para ver que estas
operacones son correctas
y/o dferentes, nosotros
hacemos o sguente:
>> a/b
>> a\b
No todas as matrces
pueden nvertrse, o
puede usarse como e
denomnador en a
dvsn de matrces:
>> c = |1 1; 1 1|
>> nv( c );
Una matrz puede
nvertrse s y so s su
determnante es dferente
de cero:
>> det(a)
>> det (c)
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( 78 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
PRIMERA PARTE
Uso bsico de MATLAB
Normamente se requere de modeos computaconaes con e n de resover
probemas de ngenera. Muchas veces puede ser t hacer un programa
que utce matrces, compe|os, y otras estructuras matemtcas, pero fc
de escrbr y revsar. MATLAB es dea para esto. Ya que es una herramenta
tan t y poderosa, resovmos dar una dea genera sobre su mane|o, con e
n de factar su uso.
Esta presentacn est organzada de a sguente forma:
Generadades.
Comandos de programacn.
Comandos matemtcos.
Programas de e|empo varados.
Cada uno de os vncuos de estas seccones, contene una expcacn breve
y e|empos pequeos de cada comando. La seccn de e|empos, contene
agunos programas competos, donde se utzan os comandos tratados.
NOTA:
En todos os programas de e|empo se utza e comando de MATLAB: % e
cua se utza para aadr un comentaro en e programa. Estos comentaros
son mportantes para que otros puedan entender e contendo con mayor
facdad.
F1 Gene$alidades
Esta es una breve ntroduccn a mane|o de varabes (escrta para as
personas que nunca han usado MATLAB), expresones y archvos con
extensn .m (programas e|ecutabes por MATLAB), con respecto a su
creacn y uso.
La dea es tratar de manera genera, como es e uso de varabes,
expresones y comandos en MATLAB, as como sus caracterstcas.
Adconamente dar una ntroduccn a uso de os archvos con
extensn .m (programas e|ecutabes por MATLAB) y como traba|ar con
eos.
F1F1 Mane)o de Ga$iables(
En MATLAB como en cuaquer otro engua|e de programacn, y/o
asstente matemtco se utzan varabes. Las varabes deben tener
un nombre segn certas regas. Estas regas son:
NO pueden comenzar con un nmero, aunque s pueden tener nmeros
(varabe1 es un nombre vdo).
Las mayscuas y mnscuas se dferencan en os nombres de
varabes. (A y a son dos varabes dferentes)
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( 77 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
Los nombres de varabes no pueden contener operadores n puntos.
(No es vdo usar /, *, -, +, ...)
S se traba|a con compe|os so puede utzarse un de os nombres
y/o | para varabes. Ver compe|os.
No es necesaro denr e tpo de varabe o tamao (s se usa un
vector y despues se expande, no hay probema)
F1H1 Mane)o de e"p$esiones(
Una expresn en MATLAB, puede ser:
Una varabe o un nmero. (e|: varabe1, x, 3, 22.3)
Un comando apcado. (e|: norm(A), sn(2*p) )
Una expresn matemtca. (e|: 2+3*varab1 4.5)
S cuaquera de as anterores se escrbe en a nea de comandos
(>> ) de MATLAB, devover e nombre de a varabe y su vaor
(en caso de que a expresn tenga nombre, de no tenero, MATLAB
devover ans = resutado). Un punto mportante que se debe
resatar es que esto ocurre sempre y cuando a expresn no termne
con punto y coma. A aadr un punto y coma a na de a expresn
MATLAB no mprme su vaor en a pantaa, aunque s reaza e
ccuo. (a=3+2; de|a en a e vaor de 5, pero no o muestra).
F1I1 Mane)o de comandos(
Cada comando en MATLAB es un archvo con extensn .m, por o tanto
es necesaro tener as breras en que se encuentran os comandos que
se desean utzar. Aunque a gran mayora de os comandos utzados
sempre venen ncudos en as breras.
MATLAB NO dstngue entre mayscuas y mnscuas en os comandos
(a menos que se traba|e en Unx) . E resto de esta presentacn trata
cada comando en detae (os ms usados).
F1J1 Mane)o de a$c%iGos con e"tensi&n 1m(
Todos os comandos a que se reere esta presentacn pueden
utzarse drectamente desde a nea de comandos de MATLAB (>> ).
Sn embargo a dea es hacer un archvo (con extensn .m) que
contenga e programa (para poder modcaro, revsaro, correro otra
vez ....) ya que es ms venta|oso as. Los programas no requeren
ndentacn como en os e|empos que he puesto aqu, sn embargo es
recomendabe hacero por cardad a ntentar modcar e programa o
revsaro.
Para traba|ar estos archvos, es necesaro saber:
Oue es: Es un archvo de texto como cuaquer otro donde se
encuentra e stado de programa. (so que su extensn no es txt
sno m)
Como crear uno: Las formas ms fces son:
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( 7) de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
Desde Unx: con e comando "!pco archvo.m" donde archvo es e
nombre de programa.
Desde Wndows: con e NOTEPAD, tenendo a precaucn de
cambar e tpo de archvo a "Todos os archvos (*.*)" antes de
grabaro. (de o contraro e archvo quedar con nombre
archvo.m.txt y e MATLAB no podr correro, a soucn es qutar e
.txt.).
Como correro para obtener os resutados: Desde a nea de
comandos de MATLAB se escrbe e nombre de archvo (sn e .m)
NOTAS:
E archvo debe quedar grabado en e msmo drectoro que MATLAB
para poder correro. Y s e archvo fue escrto en Unx a extensn
tene que ser escrta en mnscua (m), y debe escrbrse e nombre
exactamente gua para correro (Unx dferenca entre mayscuas y
mnscuas)
H1 Comandos bsicos de p$o9$amaci&n
Para a estructura de programacn en MATLAB se requere conocer por o
menos os sguentes comandos:
H1F1 Comando END
Determna hasta cua orden ega e efecto de f, for, y whe. (Para
e|empos de su uso ver f, whe y for)
H1H1 Comando IK
Verca s se cumpe certa condcn, y de acuerdo a s se cumpe o no
reaza a accn que se desee.
La sntaxs de a orden es:
i# Bcondici&nCD Bo$denes FC @elseD Bo$denes HCA endE
Donde as ordenes entre | | son opconaes.
(ordenes 1) son as ordenes que se reazarn s (condcn) se
cumpe.
(ordenes 2) son as ordenes que se reazarn s (condcn) NO se
cumpe.
(condcn) Puede ser:
a == b (verca s a es gua a b)
a < b (verca s a es menor que b)
a > b (verca s a es mayor que b)
a <= b (verca s a es menor o gua que b)
a >= b (verca s a es menor o gua que b)
a -= b (verca que a y b sean dferentes)
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( 7+ de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
E sguente e|empo ustra e uso de f:
%E|empo de uso de f.
n=0;
f n==0,
n % a escrbr una expresn sn punto y coma na,
MATLAB escrbe
% su resutado en pantaa.
ese,
n = 1
end;
n = 2;
f n == 0,
n
ese,
n =1
end;
La sada que se obtene con e programa anteror es a sguente:
n =
0
n =
1
Donde e 0 (cero) provene de entrar a prmer f, y e 1 (uno), de
entrar a ese de segundo f.
H1I1 Comando LMILE
Reaza una parte de programa mentras se cumpa aguna condcn.
La sntaxs de a orden es:

N%ile Bcondici&nCD Bo$denesC endE
(ordenes) son as ordenes que se reazarn mentras (condcn) se
cumpa.
(condcn) Puede ser:
a == b (verca s a es gua a b)
a < b (verca que s a es menor que b)
a > b (verca que s a es mayor que b)
a <= b (verca s a es menor o gua que b)
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( 7, de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
a >= b (verca que s a es mayor o gua que b)
a -= b (verca que a y b sean dferentes)
E sguente e|empo ustra e uso de whe:
%E|empo de uso de whe.
n=0;
whe n<=5,
n %A escrbr e nombre de a varabe (sn punto y coma)
MATLAB % mprme su vaor.
n = n + 1; %E punto y coma evta que MATLAB mprma e
nuevo vaor de n.
end;
La sada que se obtene a correr e programa anteror es:
n =
0
n =
1
n =
2
n =
3
n =
4
n =
5
H1J1 Comando KOR
Muy parecdo a Whe, pero utza un contador, es t s se quere
repetr una parte de programa un nmero. determnado de veces.
La sinta9is de la orden es:
for (contador), (ordenes) end;
(ordenes) son as ordenes que se reazarn (contador) ega a su vaor
na.
(contador) Es de a forma:
varabe = a | , b | : c
Donde:
variable es e contador en s.
a es e vaor nca de contador (varabe).
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( 7* de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
b es e segundo vaor de contador (opcona, s se omte, b=a+1),
su funcn es determnar e ncremento de contador.
c es e vaor na de contador (varabe).
E sguente e|empo ustra e uso de for:
% E|empo de uso de for.
for =0,0.5:2.5,
%a escrbr e nombre de una varabe (sn punto y coma)
%MATLAB muestra su vaor.
end;
La sada de programa anteror es a sguente:
=
0
=
0.5
=
1
=
1.5
=
2
=
2.5
H1O1 Comando PLOT
Srve para obtener resutados grcos en 2D.
La sntaxs de a orden es:
plotB"D ;CE
" es e vector que contene os vaores de x.
; es e vector que contene os vaores de y,
ta que e vaor de ; en a poscn uno de vector corresponde a
prmer vaor de vector ". La grca se reaza unendo una sere de
rectas entre os puntos ncudos en os vectores X y Y. S as curvas
quedan muy ma hechas (se notan as rectas) puede ser necesaro
dsmnur e paso de os vectores (y aumentar e nmero de puntos.
Para cardad, puede ser necesaro eer a parte correspondente a
vectores a a orden FOR.
E sguente e|empo ustra e uso de pot:
% E|empo de uso de pot.
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( 71 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
for =1:101,
x() = (-1) /100;
y()=x() `3 - 1; % Organza en vectores a funcn y=x3 -
1
end;
pot(x, y);
pause; %pausa e computador hasta que se presone una tecaesta
orden es necesara cuando se hace ms de una grca, para
poder ver cada una por separado. Ya que MATLAB as dbu|a en a
msma ventana sempre. (a menos que se use e comando FIGURE).
A correr e programa se obtene a grca de a curva y=x
3
-1 (para
0<=x<=1). La grca aparecer en una ventana aparte amada Fgure 1, y
a recta se ver as:
Otro e|empo, para a grca de y = sn(t) en e ntervao t = 0 a t =
10; donde debemos hacer o sguente:
>> t = 0:.3:10;
>> y = sn(t);
>> pot( t , y)
Aqu e resutado grco:
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( 72 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
E comando t = 0: .3 :10; dene e vector entre os componentes
desde 0 a 10 ncrementados de 0.3. La expresn y = sn(t); va a
denr os vaores de os componentes que son: sn(0), sn(0.3),
sn(0.6), etc. Fnamente, pot(t,y) usa e vector de t y os vaores de y
para a construccn de grco.
H1P1 K!nciones de dos Ga$iables
Vamos a eaborar a grca de a funcn z(x,y) = x exp( - x2 - y2):
>> |x,y| = meshdom(-2:.2:2, -2:.2:2);
>> z = x .* exp(-x.2 - y.2);
>> mesh(z)
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( 73 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
E prmer comando crea una matrz para hacer a entrada de os puntos
en e espaco cuadrado de -2 <= x <= 2, -2 <= y <= 2. Los cuadrados
pequeos que consttuyen a re|a son de 0.2 undades ancho y 0.2
undades de ato. La segunda orden crea una matrz cuyas entradas son
os vaores de a funcn z(x,y) a os puntos de a re|a. La tercera orden
usa esta nformacn para construr e grco.
H1Q1 Comando DISP
Srve para escrbr texto de sada o vectores. de resutados.
La sntaxs de a orden es:
dispBRCE
X Puede ser:
Un vector.
Una matrz.
Una cadena de texto.
E sguente e|empo ustra e uso de dsp:
%E|empo de uso de dsp.
a = |1, 2, 3, 4, 9 11|; % Un vector
dsp(a);
a = |1, 2 , 7 ; 6, 3, 4|; % Una matrz
dsp(a);
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( 76 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
a = Texto se puede escrbr as ; % Cadena de texto
dsp(a);
dsp( Tambn se puede escrbr as. );
La sada de programa anteror ser:
1 2 3 4 9 11
1 2 7
6 3 4
Texto se puede escrbr as
Tambn se puede escrbr as.
H1S1 Comando INPUT
Se utza para que e programa pda vaores de varabes mentras se
e|ecuta.
La sntaxs de a orden es:
Ga$iable 8 inp!t B te"to CE
variable es un nombre vdo de varabe, en a que se quere
amacenar e vaor que se pregunta.
texto puede ser:
Una varabe o,
Una cadena.
E sguente e|empo ustra e uso de nput:
%E|empo de uso de nput.
a = 0; % hace vdo e nombre de varabe a.
a = nput( Tecee e vaor de a: );
tex = Cua es e nuevo vaor de a? ;
a % A escrbr e nombre de una varabe (sn punto y
coma a na)
% MATLAB muestra su vaor.
a = nput(tex);
a
La sada de este programa ser:
Tecee e vaor de a: (espera)
a =
xxx % aqu se mprme e vaor asgnado para a.
Cua es e nuevo vaor de a? (espera)
a =
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( )8 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
yyy
Donde xxx y yyy son vaores ntroducdos por e usuaro en e
momento de correr e programa.
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( )7 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
SEGUNDA PARTE
Comandos bsicos matemticos
Lo que hace verdaderamente poderoso a MATLAB es a facdad para
reazar operacones matemtcas con eementos como: (en cada
vncuo se encuentra as ordenes y sntaxs para cada tpo de
eemento).
F1 ,ecto$es ; Mat$ices
Los vectores y matrces en MATLAB se traba|an gua en cuanto a
asgnacn, por eso se expcan |untos. Pero as operacones posbes,
s son dferentes, y estn separadas ba|o os encabezados
correspondentes.
Asi9naci&n(
La asgnacn de varabes en MATLAB es senca, y os vectores y
matrces no son a excepcn. Cuando se desea dar e vaor a toda
una matrz se puede reazar drectamente de a sguente forma:
A = |1 2 3 4 ; 5 6 7 8; 9 0 1 2|;
A = |1, 2, 3, 4;5, 6, 7, 8;9, 0, 1, 2|;
donde a matrz escrta arrba es:
1 2 3 4
5 6 7 8
9 0 1 2
Las as se separan por punto y coma y as coumnas por espacos o
comas. De o anteror se ve fcmente que un vector a se asgna
as:
v = |1 2 3|;
v = |1, 2, 3|;
y un vector coumna se asgna as:
v = |1; 2; 3|;
Mane)o de s!bTndices(
Otra forma de asgnar vaores a una matrz (o un vector) es por medo
de os subndces. El menor subndice utilizado por MATLAB es 1. Y va
aadendo vaores a medda que se requeran. Los subndces se
escrben entre parntess. Por e|empo:
A(2, 3) =1; Asgna a eemento en a a 2, coumna 3 e vaor de 1.
S se desea cambar todo e vaor de una a o una coumna, es muy
senco hacero con e operador ":" as:
A(1 , :) = |4 5 6|;
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( )) de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
Asgna a a a 1 e vector |4, 5, 6| (camba a a 1 por 4, 5, 6). As s
A era una matrz de 3 x 3 de ceros, ahora queda:
4 5 6
0 0 0
0 0 0
Iguamente a veces se requere traba|ar con vectores que son una
coumna o una a de una matrz. Esto se reaza fcmente
guardando este "vector" en un vector , as:
v = A(:,1);
Asgna a vector v a prmera coumna (competa) de a matrz A.
F1F1 Ope$aciones matemticas simples con mat$ices
; Gecto$es(
Esto es ago en o que MATLAB hace as cosas verdaderamente
smpes, s se tenen dos matrces (o vector y matrz, o dos vectores),
y se queren: sumar, mutpcar restar so es necesaro anotar esta
operacn normamente (como se hara con nmeros). Por e|empo:
S se queren mutpcar dos matrces A y B y amacenar e resutado
en C:
C = A * B; (S se hace entre dos vectores (uno a y e otro coumna)
e resutado es e producto punto entre os dos)
S se queren sumar restar y amacenar e resutado en C:
C = A + B;

C = A - B; (Sn mportar que sean matrces o vectores.)
F1H1 Comandos matemticos pa$a Gecto$es(
Los comandos matemtcos ms empeados con vectores son:
F1H1F1 Comando NORM
Cacua a norma de un vector o matrz.
La sntaxs de a orden es:
No$ma 8 no$mB Mat$iU @D TipoACE
Los sgnos | | son para decr que Tpo es opcona.
Matrz es a matrz o vector a que se desea cacuar a norma.
Tpo es e tpo de norma que se desea cacuar. Tpo puede ser una de
as sguentes:
S se omte: cacua a norma 2
en un vector es a magntud de vector
2: cacua a norma 2
nf: cacua a norma nnto: en un vector es e
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( )+ de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
mxmo vaor absouto, en una matrz es a
suma ms grande de as as.
En Norma se amacena e vaor de a norma cacuada.
E sguente e|empo ustra e uso de norm: (ver orden de
programacn DISP)
%E|empo de uso de norm.
A = |1 2; 3 4|
v = |1 2 3 4|
dsp( Para a matrz: );
n2 = norm(A)
n = norm(A, nf)
dsp( Para e vector: );
n2 =norm(v)
n = norm(v, nf)
% A escrbr una expresn sn punto y coma a na
% MATLAB muestra su vaor en pantaa.
A correr e programa se obtenen como sada os sguentes
resutados:
A =
1 2
3 4
v =
1 2 3 4
Para a matrz:
n2 =
5.4650
n =
7
Para e vector:
n2 =
5.4772
n =
4
F1H1H1 Comando MIN
Retorna e (os) menor (es) componente (s) de un vector o matrz.
Para e caso de os vectores: retorna e menor vaor contendo en sus
componentes. En e caso de una matrz MIN retorna un vector (a)
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( ), de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
que contene e mnmo eemento que se encontr en cada una de as
coumnas (a prmera componente de vector tene e menor eemento
en a prmera coumna de a matrz, y as sucesvamente).
La sntaxs de a orden es:
MTnimo 8 minB mat$iU x CE
Matrz es a matrz o vector a que se desea encontrar a (s) mnma
(s) componente (s).
En Mnmo se retorna (n) e (os) mnmo (s) vaor (es) encontrado (s)
en a matrz o vector.
E sguente e|empo ustra e uso de mn:
%E|empo de uso de mn.
A=|1 2; 3 4|
v=|1 2 3 4|
M=mn(A)
m=mn(v) % MATLAB dferenca entre myuscuas y
mnuscuas.
% A escrbr una expresn sn punto y coma a na
% MATLAB muestra su vaor en pantaa.
A correr e programa anteror se obtene como sada o sguente:
A =
1 2
3 4
v =
1 2 3 4
M =
1 2
m =
1
F1H1I1 Comando MAR
Retorna e (os) mayor (es) componente (s) de un vector o matrz.
Para e caso de os vectores: retorna e mayor vaor contendo en sus
componentes. En e caso de una matrz MAX retorna un vector (a)
que contene e mxmo eemento que se encontr en cada una de as
coumnas (a prmera componente de vector tene e mayor eemento
en a prmera coumna de a matrz, y as sucesvamente).
La sntaxs de a orden es:
M"imo 8 ma"BMat$iUCE
Matrz es a matrz o vector a que se desea encontrar a (s) mxma
(s) componente (s).
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( )* de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
En Mxmo se retorna (n) e (os) mxmo (s) vaor (es) encontrado (s)
en a matrz o vector.
E sguente e|empo ustra e uso de max:
%E|empo de uso de max.
A = |1 2; 3 4|
v = |1 2 3 4|
M = max(A)
m = max(v) % MATLAB dferenca entre mayscuas y
mnscuas.
A correr e programa anteror se obtene como sada o sguente:
A =
1 2
3 4
v =
1 2 3 4
M =
3 4
m =
4
F1H1J1 Comando CROSS
Cacua e producto cruz entre dos vectores.
La sntaxs de a orden es:
,ecto$F 8 c$ossB ,ecto$HD ,ecto$ I CE
Vector2 y Vector3 son os vectores a os que se es quere apcar e
producto cruz. Tanto Vector2 como Vector3 deben ser vectores
trdmensonaes.
Vector1 es e vector (trdmensona) resutante de producto cruz de
Vector2 y Vector3.
E sguente e|empo ustra e uso de cross:
%E|empo de uso de cross.
x = |1 0 0|
y = |0 1 0|
z = cross(x, y)
A correr e programa se obtene a sguente sada:
x =
1 0 0
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( )1 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
y =
0 1 0
z =
0 0 1
F1H1O1 Comando LENGTM
Determna e nmero de componentes de un vector. La sntaxs
de a orden es:
Lon9it!d 8 len9t% B,ecto$CE
Vector es e vector que se quere medr (nmero de
componentes).
Longtud es e nmero de componentes de Vector.
E sguente e|empo ustra e uso de enght:
%E|empo de uso de ength.
x = |1 2 3 4 5 6 7 |
= ength(x)
A correr e programa se obtene a sguente sada:
x =
1 2 3 4 5 6 7
=
7
F1I1 Comandos matemticos pa$a mat$ices(
Los comandos matemtcos ms empeados con matrces son:
F1I1F1 Comando NORM
Cacua a norma de un vector o matrz.
F1I1H1 Comando MIN
Retorna e (os) menor (es) componente (s) de un vector o matrz.
F1I1I1 Comando MAR
Retorna e (os) mayor (es) componente (s) de un vector o matrz.
F1I1J1 Comando SI+E
Devueve e tamao de a matrz (dmensones).
La sntaxs de a orden es:
@KilasD Col!mnasA 8 siUeBMat$iUCE
(Los smboos | | se escrben.)
tambn:
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( )2 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
TamaVo 8 siUeBMat$iUCE
Matrz es a matrz a a que se e desea determnar e tamao
(dmensones).
En Fas se amacena e nmero de as.
En Coumnas se amacena e nmero de coumnas.
Tamao es un vector (a) en cuyas componentes se amacenan e
nmero de as y de coumnas, sempre en ese orden.
E sguente e|empo ustra e uso de sze:
%E|empo de uso de sze.
A= |1 2 3; 4 5 6|
y = sze(A)
|f, c| = sze(A);
f % A escrbr una expresn sn punto y coma na MATLAB
c % muestra e vaor por pantaa
A correr e programa se obtene a sguente sada:
A =
1 2 3
4 5 6
y =
2 3
f =
2
c =
3
F1I1O1 Comando EIG
Cacua os vaores y vectores propos (ortovaores y ortovectores) de
a matrz.
La sntaxs de a orden es:
@ ,ecto$esD Dia9onal A 8 ei9B Mat$iU CE
(Los smboos | | se escrben.)
tambn:
,alo$es 8 ei9B Mat$iU CE
Matriz es a matrz (cuadrada) a a que se e desea cacuar os vaores
o vectores propos.
Diagonal es una matrz dagona que contene os vaores propos de
Matrz.
Vectores es una matrz en a que se devueven os vectores propos
(untaros) donde cada coumna de a matrz Vector es un vector
propo de matrz; ta que e prmer vector corresponde a prmer vaor
propo y as sucesvamente.
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( )3 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
Valores es un vector coumna que contene os vaores propos de
Matrz.
E sguente e|empo ustra e uso de eg:
%E|empo de uso de eg.
A = |1 2; 3 4|
y = eg(A)
|V, D| = eg(A);
V %A escrbr una expresn sn punto y coma na
MATLAB
% muestra e vaor por pantaa
D
A correr e programa se obtene a sguente sada:
A =
1 2
3 4
y =
-0.3723
5.3723
V =
-0.8246 -0.4160
0.5658 -0.9094
D =
-0.3723 0
0 5.3723
F1I1P1 Comando IN,
Srve para nvertr una matrz.
La sntaxs de a orden es:
mat$iUF 8 inGBmat$iUHCE
matrz2 es a matrz que se desea nvertr
En matrz1 se amacena a matrz nversa de matrz 2.
E sguente e|empo ustra e uso de nv:
%E|empo de uso de nv.
A = |1 2; 3 4|
I = nv(A);
I % A escrbr una expresn sn punto y coma a na
% MATLAB muestra su vaor en pantaa.
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( )6 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
A correr e programa se obtene como sada a matrz que se desea
nvertr (A), y su nversa ( I ). La sada se ve as:
A =
1 2
3 4
I =
-2.0000 1.0000
1.5000 -0.5000
F1I1Q1 Comando DET
Srve para cacuar e determnante de una matrz.
La sntaxs de a orden es:
,alo$ 8 det BMat$iUC
Matrz es a matrz (cuadrada) a a que se e desea cacuar e
determnante.
Vaor es donde se amacena e vaor de determnante.
E sguente e|empo ustra e uso de det:
% E|empo de uso de det
A = |1 2 7; 4 5 8; 6 -7 10|
d = det(A)
A correr e programa se obtene a sguente sada:
A =
1 2 7
4 5 8
6 -7 10
d =
-284
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( +8 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
TERCERA PARTE
APLICACIONES BASICAS DE MATLAB
F1 Modela)e de Sistemas Lineales
Ahora consderemos e sstema de ecuacones neaes
ax + by = p
cx + dy = q
Nosotros podemos escrbr esto ms sdamente como
AX = B
donde a matrz A de os coecente es:
a b
c d
e vector X de varabes desconocdas es
x
y
e vector B en e ado derecho es
p
;
S A es nvertbe, X = (1/A)B, o, usando anotacn de MATLAB, X =
A\B. Se prueba esto resovendo AX = B.
Hagamos un poco de programacn. Sea A sea a matrz
0.8 0.1
0.2 0.9
y sea X e vector de a coumna
7
8
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( +7 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
Consderamos X para representar (por e|empo) e estado de a
pobacn de una sa. La prmera entrada (1) da e fragmento de a
pobacn en a mtad orenta de a sa, a segunda entrada (0) d e
fragmento en a otra mtad orenta. E estado de a pobacn en as
undades de tempo T son dadas despus por a rega Y = AX. Esto
expresa e hecho de que un ndvduo en medo de as estancas
orentaes puestas con probabdad 0.8 y que se mueve de este con
probabdad 0.2 (notar que 0.8 + 0.2 = 1), y e hecho que un
ndvduo en as estancas orentaes puestas con probabdad 0.9 y
oeste de os movmentos est con probabdad 0.1. As, os estados
de a pobacn sucesvos pueden ser predcho/computado por a
mutpcacn de a matrz repetda. Esto puede ser reazado por e
programa de MATLAB sguente:
>> A = | 0.8 0.1; 0.2 0.9 |
>> x = |1; 0|
>> for = 1:20, x = a*x, end,
Hasta aqu hemos aprenddo a escrbr un tpo de oop smpe. sta es
una manera fc de ordenar a a mquna, en otras paabras, hacer
un traba|o muy repettvo.
F1F1 DeWniendo Mat$ices
S queremos denr a sguente matrz en MATLAB:
entonces escrbmos:
A=|1 2 3 4;5 6 7 8;9 10 11 12;13,14,15,16|;
x=4:-1:1
genera e vector fla x=|4,3,2,1|. La nstruccn
C=A(3:4,1:3);
se reere a a submatrz
de A. Tambn D=A(|1,3|,3:4) genera
F1H1 Mat$ices Especiales
En MATLAB podemos generar matrices especiales con as sguentes
nstruccones:
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( +) de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
rand(n,m) - matrz n x m de entradas aeatoras entre 0 y uno.
eye(n) - matrz dentdad n x n.
zeros(n,m) - matrz cero de tamao n x m.
ones(n,m) - matrz n x m con todas as entradas uno.
Combnando estas nstruccones podemos generar matrces bastante
compcadas. Por e|empo, a nstruccn
E=|eye(2),ones(2,3);zeros(2),|1:3;3:-1:1||
genera a matrz
La nstruccn round(x) redondea "x" a entero ms cercano a "x".
Podemos combnar funcones en MATLAB. Por e|empo,
round(10*rand(4)) genera una matrz con entradas aeatoras entre 0
y 10.
F1I1 A$itm*tica de Mat$ices
Consdere as sguentes matrces:
Entonces as operacones A*B (producto matrca de A con B), A+B
(suma de A mas B), 3*A (mutpcacn escaar de 3 por A) tenen os
sguentes resutados:
A*B
ans =
16 19 13
10 11 7
A+B
??? Error usng ==> +
Matrx dmensons must agree.
3*A
ans =
12 15
6 9
Note que MATLAB "anunca" que A+B no se puede cacuar. Las
operacones A (transpuesto de A), nv(A) (nversa de A), y A3 (esto
es A*A*A) tenen como resutados:
A
ans =
4 2
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( ++ de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
5 3
nv(A)
ans =
1.5000 -2.5000
-1.0000 2.0000
A3
ans =
174 235
94 127
S precedemos as operacones matrcaes "*", "" con e punto ".",
entonces estas se hacen termno a termno. Por e|empo A.*C y A.2
generan:
A.*C
ans =
-4 10
4 12
A.2
ans =
16 25
4 9
H1 Sol!ci&n de Sistemas Lineales
Consdere e sstema nea
Denmos a matrz de coecentes y e ado derecho por as
nstruccones:
A=|1 -2 3; 4 1 -2; 2 -1 4|;
b=|1 -1 2|;
Note que a transpuesta en b se usa para hacero un vector coumna.
Vamos a resover este sstema por tres mtodos:
emnacn Gaussana
forma echeon reducda o mtodo de Gauss-|ordan
mtodo de a nversa
En e mtodo de Gauss-|ordan, uego de obtener a forma echeon de
a matrz de coecentes aumentada, emnamos tambn a parte de
arrba de a matrz hasta producr una matrz donde as coumnas con
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( +, de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
unos, soo tenen un uno. Esto se conoce como a forma ecelon
reducida (ver texto). Para comparar os tres mtodos utzamos a
nstruccn ops de MATLAB que estma e nmero de operacones de
punto otante entre dos amadas sucesvas a ops. Una amada de
a forma ops(0) ncaza e contador de operacones a cero. La
sucesn de nstruccones:
ops( 0 )
x=A\b
x =
-0.0417
0.4167
0.6250
ops
eva a cabo emnacn Gaussana en e sstema de arrba y produce
como resutado:
ans =
73
entonces, aqu se necestaron aproxmadamente 73 operacones de
punto otantes (sumas, restas, mutpcacones dvsones) para
resover e sstema con emnacn Gaussana.
Para e mtodo de Gauss-|ordan tenemos:
ops(0)
rref(|A b|)
ans =
1.0000 0 0 -0.0417
0 1.0000 0 0.4167
0 0 1.0000 0.6250
ops
ans =
483
e cua requere 483 operacones de punto otante.
Fnamente e mtodo de a nversa se reaza con a sguente
secuenca de nstruccones:
ops(0)
x=nv(A)*b
x =
-.0417
0.4167
0.6250
ops
ans =
108
e cua toma 108 operacones.
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( +* de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
Vemos pues que a emnacn Gaussana es e me|or de os tres
mtodos o cua es certo en genera.
Usando MATLAB podemos estudar a reacn entre a soubdad de
sstema Ax=b y a no snguardad de a matrz de coecentes A. En
case vmos que e sstema Ax=b tene soucn nca para cuaquer
ado derecho b s y soo s a matrz A es no snguar. Ou sucede s A
es snguar? Entonces Ax=b no tene soucn? S A es snguar e
sstema Ax=b puede tener soucn para agunos bs pero de seguro
hay a menos un b
*
para e cua Ax=b
*
no tene soucn. Vamos a
generar una matrz snguar con MATLAB:
A=round(10*rand(6));
A(:,3)=A(:,1:2)*|4 3|
A =
2 5 23 9 7 3
0 8 24 8 9 6
7 0 28 5 8 8
7 1 31 1 3 10
9 5 51 7 0 4
4 7 37 4 7 2
(Como usamos a nstruccn rand, e resutado de esta y cuaquer
secuenca de nstruccones que use esta funcn de MATLAB, no
sempre ser e msmo). La prmera nstruccn genera una matrz
aeatora con entradas enteras entre 0 y 10, y con a segunda
nstruccn rempazamos a tercera coumna de A con cuatro veces a
prmera coumna mas tres veces a segunda coumna. La matrz
resutante es snguar! (Expque esto sn cacuar e determnante).
Generamos ahora un ado derecho arbtraro medante a nstruccn:
b=round(20*(rand(6,1)-0.5))
b =
10
4
5
3
-9
3
Esto genera una matrz 6x1 aeatora con entradas enteras entre -10
y 10. Resovemos e sstema Ax=b cacuando a forma echeon
reducda de a matrz de coecentes aumentada |A b|:
rref(|A b|)
ans =
1 0 4 0 0 0 0
0 1 3 0 0 0 0
0 0 0 1 0 0 0
0 0 0 0 1 0 0
0 0 0 0 0 1 0
0 0 0 0 0 0 1
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( +1 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
Como a tma a es de a forma e sstema es nconsstente,
.e., no tene soucn. Recuerde que A es snguar! Esto no quere
decr que Ax=b nunca tenga soucn. S denmos c=A*b, con e b de
arrba dgamos, e sstema Ax=c tene soucn x=b (por qu?). De
hecho s cacuamos a forma echeon reducda de |A c| tenemos:
c=A*b;
rref(|A c|)
ans =
1 0 4 0 0 0 30
0 1 3 0 0 0 19
0 0 0 1 0 0 3
0 0 0 0 1 0 -9
0 0 0 0 0 1 3
0 0 0 0 0 0 0
e cua denota un sstema consstente dependente con soucones:
donde x
3
es arbtraro.
Recordemos que MATLAB posee una gran cantdad de funcones
matrcaes. De as ms comunes que tenemos que repasaras son:
mn(A), max(A) - dan e mnmo y mxmo respectvamente por
coumnas de A
sum(A), prod(A) - producen a suma y producto respectvamente
por coumnas de A
norm(A,p) - norma p de a matrz A donde p=1,2, nf
eg(A) - vector cuyos componentes son os vaores propos de A
det(A) - e determnante de A
nv(A) - a matrz nversa de A
I1 Inte$polaci&n Polinomial
La funcn de nterpoacn es aquea funcn que pasa reamente por todos
os puntos dados o aquea que "me|or" a|uste a esos puntos. Cuando se ve
grcamente, a nea pasa por cada uno de os puntos dados.
Para convenenca seecconamos un ponomo de grado n para n+1 pares
de ordenadas (x,y).
En genera e ponomo puede escrbrse:
y = a0 + a1x + a2x2 + a3x3 + ....... + anxn
Para evauar a nterpoacn ponoma de grado n para cuaquer
con|unto de datos, vamos a evauar os n+1 coecentes, a0, a1, a2,
a3, .....an.
Dado os n+1 pares de datos, podemos formas as n+1 ecuacones
y1 = a0 + a1x1 + a2x12 + a3x13 + ...... + anx1n
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( +2 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
y2 = a0 + a1x2 + a2x22 + a3x23 + ...... + anx2n
y3 = a0 + a1x3 + a2x32 + a3x33 + ...... + anx3n
. . . . . .
. . . . . .
. . . . . .
yn+1 = a0 + a1xn+1 + a2xn+12 + a3xn+13 + ... + anxn+1n
Este es e con|unto soube de n+1 ecuacones desconocdas
Los coecentes desconocdos son a0, a1,......an. S soo exsten dos o tres
ecuacones podemos segur con a Rega de Cramer para haar estos
coecentes. Pero, en genera vamos a recurrr a gebra de matrces para
manpuar estas ecuacones usando un formato de n susttucones haca
atrs para obtener os coecentes desconocdos.
Observe que e con|unto de ecuacones puede expresarse
convenentemente por a ecuacn matrca:
|y| = |X||a|
donde,
|y| = |X| = |a| =
y1 1 x1 x12.....x1n+1 a1
y2 1 x2 x22.....x2n+1 a2
y3 1 x3 x32.....x3n+1 a3
. . . . . .
. . . . . .
. . . . . .
yn+1 1 xn+1 xn+12... xn+1n+1 an+1
Notamos que e producto de as matrces de ado derecho es una matrz
coumna de orden n+1x 1.
La soucn que usa a emnacn de Gauss usamos a dvsn por a
zquerda de MATLAB o
|a| = |X|\|y|
Usando este mtodo, podemos encontrar os coecentes de a para e
ponomo de grado n que pasa exactamente a travs de os n+1 puntos.
S tenemos un con|unto grande de datos, cada uno de os datos se aparean
ncuyendo un error expermenta, e ponomo de grado n no es una buena
opcin.
Los ponomos de grado mayores que cnco o ses tenen a menudo un
comportamento poco reasta aunque a curva ponmca pase por cada
punto dado. Como e|empo, consderemos e sguente con|unto de puntos:
" ;
2 4
3 3
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( +3 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
4 5
5 4
6 7
7 5
8 7
9 10
10 9
En este con|unto hay nueve puntos. A manera que e vaor de x se
ncrementa, os vaores de y tambn varan. Sn embargo, podemos
observar que a dstrbucn de os puntos no es nea. Con MATLAB vamos
a crear dos vectores para estos datos:
x9 = |2:1:10|;
y9 = | 4 3 5 4 7 5 7 10 9 |;
Para observar estos puntos trazados, e|ecutamos:
pot(x9,y9,o)
Como exste nueve puntos, es posbe construr e ponomo de
nterpoacn de grado 8:
y = a0 + a1x + a2x2 + a3x3 + ....... + a8x8
Para encontrar os coecentes desconocdos, denmos e vector coumna y
y = y9
y a matrz X
X = |ones(1,9);x9;x9.2;x9.3;x9.4;x9.5;x9.6;x9.7;x9.8|
Notamos que X es denda usando a transpuesta, a funcn one( ) y e
operador de de array . . Con X y y as dendos, estos satsfacen a
ecuacn
|X||a| = |y|
Resovemos para os coecentes de a matrz a ndcada anterormente,
entrando e comando
a = X\y
dando resutados en
a = 1.0e+003*
3.8140
-6.6204
4.7831
-1.8859
0.4457
-0.0649
0.0057
-0.0003
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( +6 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
0.0000
Note que e noveno coecente a(8) parece tener e vaor cero, reamente
su vaor es un nmero dferente de cero, aparece esto debdo a que MATLAB
est consderando 4 cfras sgncatvas a a zquerda despus de punto
decma. Para observar os coecentes con cfras ms sgncatvas, entrar
e comando:
format ong
a
y e formato se camba con 15 dgtos sgncatvos. Caramente vemos que
a(8) no es cero, es un nmero pequeo eevado a a potenca 8.
Ahora que ya contamos con os coecente, vamos a generar un nmero
sucente de puntos para crear una curva contnua. Para e e|e x, formamos
un escaa en e rango de
2 <= x <= 10 con ncrementos de 0.1.
x = | 2:.1:10 |;
Para y, cacuamos e vaor en e ponomo de octavo grado para cada uno
de os componentes de x:
y =a(1)+ a(2).*x + a(3).*x.2 + a(4).*x.3 + a(5).*x.4...
a(6).*x.5 + a(7).*x.6 + a(8).*x.7 + a(9).*x.8;
Ahora pot(x,y) y os puntos dados (x9,y9).
pot(x,y,x9,y9,o)
Los resutados ponmcos parecen pasar por cada dato exactamente pero
e ponomo no srve para representar cuaquer otro punto en e rango de x.
Por esta razn, no se debe ntentar de usar a nterpoacn ponoma para
representar datos expermentaes.
I1F1 K!nci&n MATLAB pa$a los mTnimos C!ad$ados
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( ,8 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
Hay en MATLAB una funcn para que a ecuacn enca|e con e mtodo de
os mnmos cuadrados. E comando es
pol;WtB"D;DnC
donde x, y son os vectores con os datos y n es e orden de ponomo
para e mtodo de os mnmos cuadrados que se desea. E comando pot
devueve un vector cuyos eementos son os coecentes de ponomo.
Los eementos de vector estn en orden nverso, de o que podemos
antcpar que e prmer eemento es e coecente de orden ms ato de x y
e tmo eemento es e coecente de orden ms ba|o (e orden 0 x0).
J1 N'me$os Reales ; Comple)os
J1F1 Asi9naci&n de Galo$es a Ga$iables(
Los nmeros compe|os se traba|an gua que os reaes en o que se
reere a asgnacn, a operacones matemtcas y a comandos. A
contnuacn, unos pocos e|empos para mostrar como se reaza a
asgnacn:
a = 25.203147;
b = 3;
c = 1 + 2|; tambn:
d = 1.5476 + 2.8*; (e uso de | es ndferente, desde que se tenga
en cuenta a nota mportante sobre e uso de as varabes y | )
d = 5.2347;
e = 3|;
J1H1 Ope$aciones matemticas simples(
Las operacones smpes son as sguentes:
Suma (operador +)
Resta (operador -)
Mutpcacn (operador *)
Dvsn (operador /)
Potencacn (operador )
A contnuacn hay agunos e|empos para compe|os:
a = 3 + 4;
b = 2 - |;
c = a + b da como resutado:
c =
5.0000 + 3.0000
d = a b da como resutado:
d =
61.3022 + 15.3369
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( ,7 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
Nota impo$tante sob$e el !so de las Ga$iables i ; )(
Puede usarse ndstntamente as dos varabes ncorporadas ( |) y
MATLAB no pone probema s se usan as dos a tempo. Pero s se
asgnan as varabes y/o | en agn ugar de programa, esta varabe
perder su vaor como raz de -1. Para carcar esto es t un
e|empo:
% Observacn para cuando se traba|a con compe|os.
= 8
| = 9
c = 2 + 3*|
La sada de programa anteror es:
=
8
| =
9
c =
29
Como se puede ver s se ntentaba representar un compe|o con a
varabe c, no se ogr debdo a que se cambaron as varabes y |.
Por o tanto recomendo que s se va a traba|ar con compe|os en un
programa: De|e bres as varabes y | (no as utce en contadores
en otros propstos, que no sean representar raz de -1.
J1I1 Comandos matemticos pa$a n'me$os Bcomple)os ; $ealesC(
Los comandos matemtcos ms empeados con nmeros son:
J1I1F1 Comando ABS
Cacua a norma de un compe|o, o e vaor absouto de un rea.
La sntaxs de a orden es:
,alo$ 8 absBN'me$oCE
Vaor es a norma de compe|o s (Nmero es compe|o) o e vaor
absouto de Nmero (s es rea).
Nmero puede ser un rea o un compe|o:
S es Rea: cacua e vaor absouto.
S es Compe|o: cacua a norma de compe|o.
E sguente e|empo ustra e uso de abs: (ver orden de programacn
DISP)
%E|empo de uso de abs.
R = -1.2341
C = 1.5+3|
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( ,) de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
dsp( Para un rea: );
v = abs( R )
dsp ( Para un compe|o: );
v = abs( C )
A correr e programa se obtenen como sada os sguentes
resutados:
R =
-1.2341
C =
1.5000 + 3.0000
Para un rea:
v =
1.2341
Para un compe|o:
v =
3.3541
J1I1H1 Comando S=RT
Cacua a raz cuadrada de un compe|o o de un rea.
La sntaxs de a orden es:
,alo$ 8 s$tBN'me$oCE
En Vaor se amacena a raz cuadrada de nmero.
Nmero puede ser un rea o un compe|o (s es rea negatvo, e
resutado es un compe|o)
E sguente e|empo ustra e uso de sqrt:
%E|empo de uso de sqrt.
R= - 12.347
raz = sqrt ( R )
C = 2.6 - 7.3|
raz = sqrt ( C )
A correr e programa se obtenen como sada os sguentes
resutados:
R =
12.347
raz =
0 + 3.5138
C =
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( ,+ de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
2.6000 - 7.3
raz =
2.2748 - 1.6046
J1I1I1 Comando ANGLE
Cacua e nguo de fase (en radanes) de una matrz (podra querer
eer sobre matrces) con eementos compe|os. S a matrz so tene
un eemento, cacua e nguo de fase de ese compe|o.
La sntaxs de a orden es:
,alo$ 8 an9leBMat$iUCE
Vaor es una matrz que amacena e vaor de nguo de fase de
compe|o (de 0 a 2*p) que ocupa a msma poscn en Matrz (e
nguo de fase de eemento 1,1 o amacena en a poscn 1,1).
Matrz es una matrz (puede tener un soo eemento) cuaquera con
componentes compe|as (os reaes forman parte de os compe|os).
E sguente e|empo ustra e uso de ange: (ver orden de
programacn DISP)
%E|empo de uso de ange.
C = |1 2;1+3 2.3+5|
c=|1.5+3||
dsp(Para a matrz:);
v=ange
dsp(Para un compe|o: (matrz de un soo eemento));
v=ange
A correr e programa se obtenen como sada os sguentes
resutados:
C =
2.0000 0 - 2.7000
3.0000 + 5.0000 0.7000 - 5.0000
c =
6.3000 + 7.2300
Para a matrz:
v =
0 -1.5708
1.0304 - 1.4317
Para un compe|o: (matrz de un soo eemento)
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( ,, de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
v =
0.8540
O1 Inte9$ales DeWnidas
Se souconan numrcamente por medo de comando TRAPZ.
O1F1 Comando TRAP+
Cacua a ntegra denda entre dos mtes de una funcn (rea ba|o
a curva) representada por uno o dos vectores, como se expca ms
adeante. E ccuo de a ntegra se reaza numrcamente, por
medo de una aproxmacn de a funcn a trapecos (En nngn
momento cacua a ntegra smbca).
Debdo a que e ccuo de a ntegra es numrco, se deben construr
vectores "decentes" para cacuar a ntegra. Por esta razn, es
fundamenta acarar as caracterstcas de os vectores, con e n de
tener un crtero para decdr como construr e vector de forma
apropada. (para mayor cardad en e e|empo de esta orden, puede
ser necesaro eer as seccones sobre FOR y Vectores y matrces).
La sntaxs de a orden es:
,alo$ 8 t$apUB@,ecto$DA Mat$iUCE
Los smboos | | sgncan que Vector es opcona.
Matrz puede ser una matrz o un vector. Una matrz s se desea
cacuar a ntegra denda para varas funcones en e msmo rango
(entre os msmos mtes). Un vector s se desea cacuar a ntegra
para una soa funcn (su tamao tene reacn con e tamao de
Vector, esta reacn se muestra en detae en a expcacn de
Vector).
Vector es e vector de os vaores para os cuaes se desea cacuar a
ntegra, ta que s Matrz es:
Un Gecto$( Matrz y Vector deben ser de a msma ongtud (ya sean
vectores a, o coumna). A cada vaor amacenado en Vector
corresponde e vaor amacenado en Matrz (con e msmo subndce).
Una mat$iU( Vector debe ser un vector coumna y Matrz tene
amacenadas as funcones por coumnas (cada coumna = una
funcn), Matrz debe tener e msmo nmero de as que vector.
S Vector se omte, es equvaente a ntroducr un vector con paso 1
( por e|empo: |0, 1, 2, 3| ), note que a ntegra no depende de os
vaores que se ntroducen en Vaor, sno de su paso (ya que os
vaores de a funcn en cada punto estn amacenados en Matrz), en
otras paabras a ntegra sgue sendo a msma (en vaor) s a corro
haca un ado y reazo a ntegra entre e nuevo par de mtes.
Vaor es donde se amacena e vaor de a ntegra (un rea s so se
cacu para una funcn, y un vector a s se cacu para varas).
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( ,* de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
O1H1 C$eaci&n de Gecto$es XdecentesY
La ntegra se reaza aproxmando a curva (funcn) a una sere de
rectas, con e n de aproxmar e rea ba|o a curva a una sere de
trapecos contguos. Por o tanto a aproxmacn es buena
("decente") s efectvamente a funcn se comporta como una recta
(aproxmadamente) en cada sub-ntervao determnado por e paso y
nmero de puntos que se tomen. Una forma emprca de vercar que
os vectores estn ben construdos es por medo de a orden pot, ya
que esta funcn dbu|a os vectores, aproxmando a funcn de a
msma forma que trapz. Por o tanto, s a dbu|ar a curva con pot,
esta se ve "suave", os vectores estn ben dendos.
E sguente e|empo ustra e uso de trapz:
%E|empo de uso de trapz.
for = 1:100,
x(, 1)=1+ / 20; % Asgna os vaores de x entre 1 y 6 en
ncrementos
% de 0.05
y(, 1) = x( ,1) + 1; % Dene a funcn y = x + 1
z(, 1) = x( ,1)2 + 1; % Dene a funcn z=x2+1
end;
Los vectores x, y, z se deneron como vectores coumna arrba, con
e n de demostrar e funconamento de trapz con varas funcones.
Estos vectores perfectamente huberan poddo ser a, pero hubera
sdo ms
dfc armar a matrz. Iguamente se requera construr un x que
fuera
coumna.
A(:, 1)=y;
A(:, 2)=z;
ntegra = trapz(x, y)
ntegra = trapz(x, z) % Normamente se usara un nombre dferente
a de arrba
ntegra = trapz(x, A) % Normamente se usara un nombre dferente
a de arrba
A correr e programa se obtene a sguente sada:
ntegra =
22.3988
ntegra =
76.5662
ntegra =
22.3988 76.5662
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( ,1 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
P1 G$Wcas
MATLAB provee exceentes funcones para grcas en dos, tres y
cuatro dmensones. Veamos un par de e|empos sencos. Suponga
que queremos trazar a grca de a funcn
Esto o podemos ograr con as nstruccones:
x=-5:.1:5;
y=x.2.*exp(-x.2);
pot(x,y)
La prmera nstruccn dvde e ntervao |-5,5| en subntervaos de
argo 0.1, a segunda nstruccn evaa a funcn en os puntos de a
partcn, y namente gracamos os resutados con pot. La
nstruccn pot tene opcones para cambar patrones de trazado,
poner ttuos, etc.
Supongamos ahora que queremos dbu|ar a superce:
Esto o hacemos con a secuenca de nstruccones:
x=-5:.4:5;
y=x;
|X,Y|=meshgrd(x,y);
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( ,2 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
Z=X.2.*exp(-Y.2);
surf(X,Y,Z)
Las prmeras dos nstruccones dvden os e|es de "x" y "y" en
subntervaos de argo 0.4; a tercera nstruccn genera una re|a en
e con|unto |-5,5|x|-5,5| con cuadradtos de ados 0.4 como se ustra
en a sguente gura:
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( ,3 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
La cuarta nstruccn evaa a funcn en os puntos de a
re|a, y namente trazamos a superce con surf.
Los temas tratados hasta ahora son sucentes para reazar
programas sencos y tes. Los comandos dsponbes en MATLAB
son muchos ms, pero os tratados aqu son os ms frecuentemente
necestados. En caso de ser necesaro empear otras ordenes, es
posbe "buscar" a soucn por medo de HELP (todo est en ngs),
a cua sta os temas matemtcos que se pueden empear
(separados en breras amadas toobox). HELP |toobox| sta os
comandos en a brera y HELP |comando| expca su uso y sntaxs.
Ejercicios de Aplicacin:
Segur con as descrpcones dadas en MATLAB y expcar os resutados
obtendos. Esto e servr para recordar todo o aprenddo. S exste
comandos que no recuerda por favor usar e hep.
a = magc(4)
b=rand(4)
a
3*a
a+(-a)
b = max(a)
max(b)
|m, | = max(b)
mn(a)
b = 2*ones(a)
a*b (aqu se presenta un error.
Cu es?)
a
who
whos
cear
cc
A = magc(5)
b = ones(5,1)
A*b
v = ones(1,5)
v*A
a.*b (Hay un punto a)
x = 5
x2
a*a
a2
a.2 (otro punto)
a
tru(a)
tr(a)
dag(a)
dag(dag(a))
c=rand(4,5)
sze
|m,n| = sze
m
d=.5-c
sn(d)
exp(d)
og(d)
abs(d)
cear
cc
f=|-.5 .1 .5|
round(f)
x(f)
ce(f)
oor(f)
sum(f)
prod(f)
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( ,6 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
%Reacones y Operacones
Lgcas
a=|1 0 1 0|
b=|1 1 0 0|
a==b
a<=b
-a
a&b
a & -a
a | b
a | -a
a
any(a)
c=zeros(1,4)
d=ones(1,4)
any( c )
a(a)
a(d)
e=|a,b,c,d|
any(e)
a(e)
any(a(e))
r = nput( Uso de a notacn de
dos puntos )
cear
cc
x=-2:1
ength(x)
-2:.5:1
-2:.2:1
a=magc(5)
a(2,3)
dsp( Ahora veremos como
usamos os dos puntos para
seecconar una coumna de a)
a(2,:)
a(:,3)
a
a(2:4,:)
a(:,3:5)
a(2:4,3:5)
a(1:2:5,:)
a(:,|1 2 5|)
a(|2 5|,|2 4 5|)
b=rand(5)
b(|1 2|,:)=a(|1 2|,:)
a(:,|1 2|)=b(:,|3 5|)
a(:,|1 5|)=a(:,|5 1|)
a=a(:,5:-1:1)
v=|0 1 0 1 1|
a(:,v)
a(v,:)
nput(Cmo estamos en
programacn con MATLAB???)
|m,n|=sze(a);
|k,|=sze(b);
f m-=k | n-=,
r=ERROR para ser usado: cuando
as matrces no son de msmo
tamao;
return,
end
c=zeros(m,n);
for =1:m,
for |=1:n,
c(,|)=a(,|)+b(,|);
end
end
% c=mut(a,b). Este es e producto
de dos matrces
% de as matrces a y b.
% functon c=a*b.
|m,n|=sze(a);
|k,|=sze(b);
f n-=k,
c=ERROR para ndcar: matrces
que no son compatbes para ser
mutpcados,
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( *8 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
return,
end,
c=zeros(m,);
for =1:m,
for |=1:,
for p=1:n,
c(,|)=c(,|)+a(,p)*b(p,|);
end
end
end
=0;
m=2;
whe m<=n
=+1;
m=2*m;
end
%Recursvdad
f n==0, y=1;
ese y=2*twoexp(n-1);
end
p
x = ||; for =1:n, x=|x,2|, end
x = ||;
for = 1:n
x = |x,2|
end
cc
for = 1:m
for | = 1:n
H(,|) = 1/(+|-1);
end
end
H
n = 0;
whe 2n <= a
n = n + 1;
end
n
f n < 0
party = 0;
esef rem(n,2) == 0
party = 2;
ese
party = 1
end
x = |0.0:0.1:2.0|;
y = sn(x);
|x y|
m=2; n=3; x=0:.01:2*p;
y=sn(m*x); z=cos(n*x);
pot(x,y,x,z)
%Archvos m???
y = oor(10*rand(m,n));
f nargn < 3, a=0; b=9; end
y = oor((b-a+1)*rand(m,n))+a;
|m n| = sze(x);
f m == 1
m = n; % hande case of a
row vector
end
mean = sum(x)/m;
stdev = sqrt(sum(x.2)/m
-mean.2);
t = cock; x = A\b; tme =
etme(cock,t)
%Parece que queremos dbu|ar
x = -4:.01:4; y = sn(x); pot(x,y)
x = -1.5:.01:1.5; y = exp(-x.2);
pot(x,y)
t=0:.001:2*p; x=cos(3*t);
y=sn(2*t); pot(x,y)
x=0:.01:2*p;y1=sn(x);y2=sn(2*x
);y3=sn(4*x);pot(x,y1,y2,y3)
x=0:.01:2*p; Y=|sn(x), sn(2*x),
sn(4*x)|; pot(x,Y)
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( *7 de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
x=0:.01:2*p; y1=sn(x);
y2=sn(2*x); y3=sn(4*x);
pot(x,y1,-,x,y2,:,x,y3,+)
xx = -2:.1:2;
yy = xx;
|x,y| = meshgrd(xx,yy);
z = exp(-x.2 - y.2);
mesh(z)
|x,y| = meshgrd(xx,yy);
|x,y| = meshgrd(-2:.1:2,-2:.1:2);
cc
cear
nput(Nuevamente vamos a
ncar);
c = 5.66
c = |5.66|
x = | 3.5, 33.22, 24.5 |
x(1) = 2, x(2) = 4
x(3) = -1.
y(1,1)=0, y(1,2) = y(1,3) = 2,
y(1,4) = 3, y(2,1) = 5, y(2,2) = -3,
y(2,3) = 6, y(2,4) = 4
y = | 0 2 2 3 ; 5 -3 6 4 |
a = | sn(p/2) sqrt(2) 3+4 6/3
exp(2) |
a = | 1.0000 1.4142 7.0000
2.0000 7.3891 |
x1 = | x 5 8 | creates the resut
x1 = | 2 4 -1 5 8 |
x = | 2 4 -1 0 8 |
c = | 4 5 6 3 |
z = | y;c |
e = |3 5 10 0; 0 0 ...
0 3; 3 9 9 8 |
t = |4 24 9|
q = |t 0 t|
x = | 3 6 |
y = |d;x|
z = |x;d|
cear
r = | c; x,5|
v = | c(2,1); b |
%ms?
a = 1:8
b = 0.0 : .2 : 1.0
y = x(:,1)
yy = x(:,2)
z = x(1,:)
c = | -1 0 0
1 1 0
1 -1 0
0 0 2 |
d1 = c(:,2:3)
d2 = c(3:4,1:2)
% crear a matrz
g = | 0.6 1.5 2.3 -0.5
8.2 0.5 -0.1 -2.0
5.7 8.2 9.0 1.5
0.5 0.5 2.4 0.5
1.2 -2.3 -4.5 0.5 |
a = g(:,2)
b = g(4,:)
c = |10:15|
d = |4:9;1:6|
e = |-5,5|
f= |1.0:-.2:0.0|
t1 = g(4:5,1:3)
t2 = g(1:2:5,:)
% vamos a usar nuevamente
pot(x,y)
% semogx(x,y) pots og(x) vs y
%semogy(x,y) pots x vs og(y)
% ogog(x,y) pots og(x) vs
og(y)
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( *) de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
%tte(text), xabe(text),
yabe(text),
%text(x,y,text),
text(x,y,text,sc)
%poar(theta,r)
%bar(x), stars(x), bar(x,y),
stars(x,y)
x=0:.1:2;
y=exp(x);
pot(x,y)
cc
cear
cf
x1 = 0 : p/4 : p
y1 = sn(x1)
pot(x1,y1)
cear
x1 = 0 : .05*p : p ;
y1 =sn(x1);
pot(x1,y1)
ange = 0:.1*p:3*p;
radus = exp(ange/20);
poar(ange,radus),...
tte(Un e|empo de Pot Poar),...
grd
% Las barras?
x1=0:.05*p:p;
y1=sn(x1);
pot(x1,y1)
hod
y2=cos(x1);
pot(x1,y2)
a = 1 : .1 : 3;
b = 10*exp(-a);
pot(x,y,a,b)
yy=|y;exp(1.2*x)|;
pot(x,yy)
pot(x,y,x1,y1,o)
pot(x,y,r,r,s,-g)
%max(x), mn (x), mean(x)
%medan(x), sum(x), prod(x)
%std(x), sort(x), hst(x), hst(x,n),
hst(x(:,2))
% Apcar e concepto de archvo.m
usando pot exp(-x/10)sn(x)
x = | 0:.2:10 |;
y = exp(-x/10) .* sn(x);
pot(x,y),...
tte(GRAFICO DE LA FUNCION
EXPONENCIAL SENO),...
xabe(x),...
yabe(y),...
text(.6,.7,y = exp(-
x/10)*sn(x),sc)
cear
cc
cf
x = p/2; y = sn(x)
z = 0; w = exp(4*z)/5
w = (exp(4*x))/5
A=|1 2 3; 3 3 3; 5 3 1|
B=|2 -3 4;2 -2 2; 0 4 0|
C = A + B
C = B + A
x= |3 5 7|
y = |4; -1; -3|
z = x + y
a = | 1 2; 3 4|;
b = | 8 7; 6 5|;
c = a*b
X = |2 3 ; 4 -1 ; 0 7|;
Y = |5 -6 7 2 ; 1 2 3 6|;
a .* b
a ./ b
a .\ b
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( *+ de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
a . b
G = | 1 3 5; 2 4 6|;
H = |-4 0 3; 1 9 8|;
G .* H
G
G1 = G(1,:)
G2 = G(2,:)
G1 * G2
G1 * G2
a=eye(4)
eye(3,2)
eye(2,3)
Para que practques !!!!!!
Los prmeros cuatro trmnos de a
sere de fourer para a oa
cuadrada
de amptud 5 y de perodo 2| es
y = (20/|)|snx + (1/3)sn3x +
(1/5)sn5x + (1/7)sn7x)|
Cacue esta sere, trmno por
trmno, y trace os resutados de
su suma parca para cada uno
%Ecuacones neaes ya!!!!!
C = |1 -4 3 2; 3 1 -2 1; 2 1 1
-1; 2 -1 3 1|
C_nverse = nv(C);
C_nverse * C
%Resover e sstema:
x1 - 4x2 + 3x3 = -7
3x1 + x2 - 2x3 = 14
2x1 + x2 + x3 = 5
%Ubcate y sgue.
a = | 1 -4 3; 3 1 -2; 2 1 1|;
b = | -7; 14; 5|;
x = nv(a)*b
% resutado ?
%Probar para e sstema:
x1 - 4x2 + 3x3 = -7
13x2 - 11x3 = 35
(34/13)x3 = (68/13)
a = | 1 -4 3; 3 1 -2; 2 1 1|;
b = | -7; 14; 5|;
x1 = a\b
% |x||A| = |B|
%Resover
x1 - 4x2 + 3x3 = -7
3x1 + x2 - 2x3 = 14
2x1 + x2 + x3 = 5
% Resover e sstema y tomar e
%tempo de soucn por os tres
mtodos
r + s + t + w = 4
2r - s + w = 2
3r + s - t - w = 2
r - 2s - 3t + w = -3
% Resover y tomar e tempo de
soucn
%comparando os tres mtodos
estudados
2x1 + x2 - 4x3 + 6x4 + 3x5 - 2x6
= 16
-x1 + 2x2 + 3x3 + 5x4 - 2x5
= -7
x1 - 2x2 - 5x3 + 3x4 + 2x5 + x6
= 1
4x1 + 3x2 - 2x3 + 2x4 + x6 =
-1
3x1 + x2 - x3 + 4x4 + 3x5 + 6x6
= -11
5x1 + 2x2 - 2x3 + 3x4 + x5 + x6
= 5
Re#e$encias
1. MATLAB Users Gude, The MathWorks, Inc., Massachusetts, 1997.
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( *, de **
Francisco Godio Zevallos ric@telematic.edu.pe Tutorial de MATLAB
2. The MATLAB Handbook, E. Part-Enander, A. S|oberg, B. Men, and P.
Isaksson, Addson-Wesey, New York, 1996.
3. %olucin de &ro<lemas de In(enier!a con MATLAB= -elores M. $tter &rentice
"all
M>9ico 7663.
$ste tutorial ?a sido descar(adado de La @e< del &ro(ramador
?ttp:55AAA.laAe<delpro(ramador.com
Red de Informacin ient!fica "ospital III #uliaca $s%alud &'( ** de **

Você também pode gostar