Professional Documents
Culture Documents
F. Copa P.
1.1 Introduccin
MATLAB es un software comercial y una marca comercial de MathWorks, Inc.,
EE.UU. Se trata de un sistema de programacin integrado, incluyendo interfaces
grficas y un gran nmero de cajas de herramientas especializadas. MATLAB es ms
popular en todos los campos de las ciencias e ingeniera.
En esta seccin se presenta algunas nociones bsicas necesarias para la comprensin del
MATLAB. Un estudio ms profundo de MATLAB puede obtenerse a partir de muchos
libros de MATLAB aplicado a la ingeniera y la ayuda muy til de MATLAB.
1.2 Matrices
Las matrices son el objeto fundamental de MATLAB y son particularmente tiles en la
ingeniera. Las matrices pueden ser creados en MATLAB de muchas formas, la ms
simple obtenido por los comandos
>> a=[1 2;3 4]
a=
1 2
3 4
Tenga en cuenta el punto y coma al final de cada lnea separa las filas matriz. Tambin
podemos generar matrices por funciones predefinidas, tales como matrices aleatorias
>> rand(2)
ans =
0.8147 0.1270
0.9058 0.9134
Matriz aleatoria rectangular
>> rand(2,4)
ans =
0.5144 0.5880
0.8843 0.1548
0.1999
0.4070
0.7487
0.8256
Matriz diagonal
>> eye(2)
ans =
1 0
1 1
Matriz de ceros
>> zeros(2)
ans =
0 0
0 0
MatLab
IC/UNSA
F. Copa P.
0.1117 0.6787
0.1363 0.4952
>> b=rand(2,4)
b=
0.1897 0.1476
0.4950 0.0550
0.8507
0.5606
0.9296
0.6967
>> c=a+b
c=
0.9797 0.6817
0.8135 0.1449
0.9624
0.6969
1.6083
1.1918
MatLab
IC/UNSA
F. Copa P.
0.6126
0.9900
2
5
8
3
6
9
2
5
8
0
0
3
6
9
0
0
0
0
0
1
1
0
0
0
1
1
x=0;
if x==0
disp('Bad input!')
elseif max(x) > 0
y = x+1;
else
y
end
Bad input!
unid='A'
switch unid
case 'A'
disp('Se eligio A')
case 'B'
disp('se eligio A')
otherwise
disp('no se completo')
end
Se eligio A
MatLab
IC/UNSA
F. Copa P.
IC/UNSA
F. Copa P.
1.8 Relaciones
Relaciones en MATLAB son mostradas en la tabla 1.2.
Note la diferencia entre = e igual lgico ==. El operador lgico esta dado en
la tabla 1.3. El resultado es 0 (falso) o 1 (verdadero), como en
>> 3<5
ans =
1
>> 3>5
ans =
0
>> 3==5
ans =
0
Less than
Greater than
Less or equal than
Greater or equal
than
Equal to
Not equal
&
|
and
or
not
0.6324
0.0975
0.2785
0.5469
b=
0.8147
0
0
0
MatLab
0.9575
0.9649
0.1576
0.9706
0.9572
0.4854
0.8003
0.1419
IC/UNSA
F. Copa P.
ans =
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0.7952
0.1869
0.4898
0.4456
0.6463
0.7094
0.7547
0.2760
0.6797
0.1493
0.2575
>> b=sin(a)
b=
0.7776 0.5203
0.8188 0.1382
0.1487
0.2547
>> c=sqrt(b)
c=
0.8818 0.7213
0.9049 0.3717
0.3857
0.5047
round
floor
ceil
median
mean
any
all
Considere por ejemplo vector X = 1: 10. La suma, la media y los valores mximos son
evaluados como
>> x=1:10
x=
1
2
3
10
>> sum(x)
ans =
MatLab
IC/UNSA
F. Copa P.
55
>> mean(x)
ans =
5.5000
IC/UNSA
F. Copa P.
OPERADORES ARITMTICOS
MATLAB puede operar con matrices por medio de operadores y por medio de
funciones. Se han visto ya los operadores suma (+), producto (*) y traspuesta ('), as
como la funcin invertir inv( ).
Tabla 1.6b Los operadores matriciales de MATLAB son los siguientes:
+
adicin o suma
sustraccin o resta
*
multiplicacin
'
traspuesta
^
potenciacin
\
divisin-izquierda
/
divisin-derecha
.*
producto elemento a elemento
./ y .\
divisin elemento a elemento
.^
elevar a una potencia elemento a elemento
>> A=[1 2;-1 2], b=[2;1],x=A\b
A=
1
2
-1
2
b=
2
1
x=
0.5000
0.7500
1.12 Submatrices
En MATLAB que es posible manipular matrices con el fin de hacer que el cdigo ms
compacto o ms eficiente. Por ejemplo, usando el colon podemos generar vectores,
como en
>> x=10:0.5:13
x=
10.0000 10.5000 11.0000 11.5000 12.0000 12.5000 13.0000
>> x=0:pi/4:pi
x=
0
0.7854
1.5708
2.3562
3.1416
>> b=sin(x)
b=
0 0.7071
1.0000
0.7071
0.0000
MatLab
IC/UNSA
F. Copa P.
>> [x' b']
ans =
0
0.7854
1.5708
2.3562
3.1416
0
0.7071
1.0000
0.7071
0.0000
0.9293
0.3500
>> a(2,2)
ans =
0.2435
>> a=rand(2,3)
a=
0.3517
0.8308
0.5853
0.5497
0.9172
0.2858
>> a(2,2)
ans =
0.5497
>> a(1:2,2:3)
ans =
0.5853 0.9172
0.5497 0.2858
>> a(1,end)
ans =
0.9172
>> a(1,:)
ans =
0.3517
0.5853
0.9172
>> a(:,3)
ans =
0.9172
0.2858
Es interesante notar que las matrices se almacenan en la memoria de forma
lineal, a partir de la primera dimensin, segundo, y as sucesivamente. As
podemos acceder a los vectores, de hecho, por un solo ndice, como se
muestra a continuacin.
MatLab
IC/UNSA
F. Copa P.
a=
0.3517
0.8308
0.5853
0.5497
0.9172
0.2858
>> a(1)
ans =
0.3517
>> a(2),a(3),a(4),a(5)
ans =
0.8308
ans =
0.5853
ans =
0.5497
ans =
0.9172
Otra forma de introducir los subndices y obtener los elementos de la matriz
>> a([1 2 3 4 5 6])
ans =
0.3517
0.8308
0.5853
0.5497
0.9172
0.2858
>> a(:)
ans =
0.3517
0.8308
0.5853
0.5497
0.9172
0.2858
Operaciones con elementos de las matrices
>> a=rand(2,3)
a=
0.7572 0.3804
0.7537 0.5678
0.0759
0.0540
>> b=rand(1,3)
b=
0.5308 0.7792
0.9340
>> a(1,:)=b
a=
0.5308 0.7792
0.7537 0.5678
0.9340
0.0540
MatLab
IC/UNSA
F. Copa P.
>> a(2,:)=0
a=
0.5308 0.7792 0.9340
0
0
0
>> a(2,3)=100
a=
0.5308 0.7792 0.9340
0
0 100.0000
Note en el ejemplo como incrementa automticamente el tamao de la
matriz
>> a(3,2)=20
a=
0.5308 0.7792 20.0000
0
0 100.0000
0 20.0000
0
0
0
1
1
1
0
MatLab
IC/UNSA
F. Copa P.
program 1
programmer: IC/UNSA
date: 10/04/2015
propsito : mostrar cmo hacen archivos tipo M-files
data: a - matriz de nmeros; b: matriz de senos de a
a=rand(3,4);
b=sin(a);
1.15 Graphics
MATLAB le permite producir grficos de una manera sencilla, ya sea
en 2D o 3D se plotea.
1.15.1 Plot 2D
Usando el comando plot podemos producir plot 2D simples en una
figura, utilizando dos vectores con coordenadas x e y. Un ejemplo
sencillo
x=-4:0.02:4; y=sin(x);plot(x,y)
MatLab
IC/UNSA
F. Copa P.
Title
x-axis legend
y-axis legend
Sets limits to axis
ttulo
la leyenda del eje x
leyenda eje y
Establece lmites al eje
Automatic limits
Same scale for both
axis
Same scale for both
axis
Removes scale
Scales again
lmites automticos
Misma escala para ambos
ejes
Misma escala para ambos
ejes
elimina escala
Escalas de nuevo
MatLab