Apuntes de MATLAB-1era Parte PDF
Apuntes de MATLAB-1era Parte PDF
Apuntes de MATLAB-1era Parte PDF
Parte 1
1
Figura 1: Entorno de trabajo de MATLAB
2
ve su salida en la ventana de comandos, sin embargo los valores quedan guardados
en el workspace (espacio de trabajo) para ejecutarse en cualquier operación
posterior.
Las entradas largas que no quepan en una línea pueden continuar en la línea
siguiente situando puntos suspensivos al final de la línea. La opción Clear
Commands del menú ‘HOME’ permite limpiar la ventana de comandos pulsando
Command Window. El mismo efecto se logra escribiendo ‘clc’ en la ventana de
comandos también realiza esta función. Del mismo modo, las opciones ‘Clear
Command history’ y ‘Clear workspace’ del menú ‘HOME’ permiten limpiar la ventana
del historial y la del espacio de trabajo.
3
1. Definición de variables
>> v = 3
v =
>> v^3
ans =
27
>> v+5
ans =
>> v=3+7
v =
10
>> v^4
ans =
10000
4
Los nombres de las variables comienzan por una letra seguida de cualquier número
de letras, dígitos o subrayados. También es muy importante señalar que MATLAB
es sensible a mayúsculas y minúsculas; por lo tanto, una variable con mayúsculas
es distinta a la misma variable con minúsculas.
V = [v1 v2 v3 … vn]
vector1=
>>sqrt(vector1)
ans =
Existen diferentes formas de definir una variable vectorial sin necesidad de explicitar
entre corchetes todos sus elementos separados por comas o espacios en blanco:
5
variable=[a:b] Define el vector donde el primero y último elemento son
a y b, respectivamente, y los elementos intermedios se
diferencian en una unidad.
>> R = [5:5:25]
R =
5 10 15 20 25
>> Q = [10:30]
Q =
Columns 1 through 13
10 11 12 13 14 15 16 17 18 19
20 21 22
Columns 14 through 21
23 24 25 26 27 28 29 30
6
>> a = [10; 20; 30; 40]
a =
10
20
30
40
b =
10
11
12
13
14
>> c = (a’)’
10 11 12 13 14
7
x(b:-p:a) Devuelve los elementos del vector x situados entre el b-
ésimo y a-ésimo, ambos inclusive, pero separados de p en
p unidades y empezando por el b-ésimo (b>a)
Algunos ejemplos:
>>x = (10:19)
x =
10 11 12 13 14 15 16 17 18 19
>> w = x(6)
w =
15
>> p = x(4:7)
p =
13 14 15 16
El vector p contiene los elementos del vector x situados entre el cuarto y el séptimo,
ambos inclusive.
>> q = x(2:3:9)
q =
11 14 17
8
1.3 Variables matriciales
En MATLAB se definen las matrices introduciendo entre corchetes todos sus
vectores fila separados por punto y coma. Los vectores se pueden introducir
separando sus componentes por espacios en blanco o por comas. Por ejemplo, una
variable matricial de dimensión 3 x 3 se puede introducir de una de las siguientes
formas:
9
A([a b c …],[e f g …]) Define la submatriz de A formada por la
intersección de las filas a, b, c, … y las columnas
e, f, g, …
Algunos ejemplos:
10
Consideramos en primer lugar la matriz 2 x 3 cuyas filas son los 6 primeros impares
consecutivos:
>> A= [1 3 5; 7 9 11]
A=
1 3 5
7 9 11
>> A (2,3) =0
A =
1 3 5
7 9 0
>>B = A’
B =
1 7
3 9
5 0
>>C = [B eye(3)]
C =
1 7 1 0 0
3 9 0 1 0
5 0 0 0 1
11
La función eye(n) crea la matriz identidad de orden n (matriz de n x n elementos,
con unos en la diagonal y ceros fuera de ella).
>> D = C(:,1:2:5)
D=
1 1 0
3 0 0
5 0 1
Una matriz E formada por la intersección de las dos primeras de C y sus columnas
tercera y quinta:
E=
1 0
0 0
Y una matriz F formada por la intersección de las dos primeras filas y las tres últimas
columnas de la matriz C:
F =
1 0 0
0 1 0
>>C(2,:)=[]
C =
1 7 1 0 0
12
5 0 0 0 1
Tambien se muestra como borrar una columna, por ejemplo la la tercera de la nueva
matriz C, por medio de la asignación de [ ] y devuelve al resto de la matriz
>>C(:,3)=[]
C =
1 7 0 0
5 0 0 1
>> A = [1 2; 3 4], B = [5 6; 7 8]
A =
1 2
3 4
B =
5 6
7 8
>> R = A + B
R =
6 8
13
10 12
Para realizar el producto de matrices A*B, debe cumplirse para la matriz A(m,n)
que el número n de columnas de A es igual al número de renglones de B(n,p).
>> C = A*B
C =
19 22
43 50
>> x = [1 2]
x =
1 2
>> D = A*x
>> x = [1 2]'
x =
14
1
1 1 2 1*1 2* 2 5
>> D = A*x *
2 3 4 1*3 2* 4 11
D =
11
>> a = [1 3 4]
a =
1 3 4
b = [2 5 7 8]'
b =
>> F = b*a
F =
2 6 8
15
5 15 20
7 21 28
8 24 32
>> a*b
Error using *
>> S = 3*A
S =
3 6
9 12
>> F = A.*B
1 2 5 6 1*5 2*6 5 12
3 4 .* 7 8 3*7
4*8 21 32
F =
16
5 12
21 32
>> G = A./B
G =
0.2000 0.3333
0.4286 0.5000
>>B/A
ans =
-1.0000 2.0000
-2.0000 3.0000
>>B*inv(A)
ans =
-1.0000 2.0000
-2.0000 3.0000
17
X = A\B, es la solución de la solución de la ecuación AX = B. Si A y B son vectores,
A\B es la pendiente m = A\B de la ecuación B = AX o y = mx
>> R = A.\B
R =
1 2 5 6 5 /1 6 / 2 5 3
5.0000 3.0000 3 4 . \ 7 8 7 / 3
8 / 4 2.33 2
2.3333 2.0000
>> H = B.^3
H =
3
5 6 53 63 125 216
125 216 7 8 3
7 83 343 512
343 512
18
1 2 5 6 15 26 1 64
>> A.^B 3 4 ^ 7 8 7 8
3 4 2187 65536
ans =
1 64
2187 65536
>> A^B
A =
1 2
3 4
>> A'
ans =
1 3
2 4
3. Gráficas en 2 y 3 dimensiones
19
1) como vectores conteniendo las coordenadas de los puntos a graficar, que deben
ser de la misma longitud:
>> x = [-2*pi:pi/8:2*pi];
>> y = sin(x);
>>plot(x, y, ‘b’)
20
Se genera la gráfica de color azul, dado por el tercer argumento, ‘b’ de la
instrucción, en la función plot. Los colores que se pueden indicar en la función
son: rojo, ‘r’; verde, ‘g’; amarillo, ‘y’, magenta, ‘m’; negro, ‘k’. Después la
gráfica se puede editar para escribir los nombres de los ejes, cambiar color, tipo de
gráfica, etc. Esto se hace en la menú ‘edit’de la barra de herramientas, (Fig. 4) y
seleccionando ‘Figure Properties’, se abre el menú de opciones.
Una vez abierto el menú en la parte inferior de la gráfica, el lector se posiciona sobre
la propiedad que se desea editar, por ejemplo, sobre los ejes y se abre ‘Property
Editor – Axes’ (Fig. 5): se puede introducir en la pestaña ‘X Axes’, el nombre del eje
X, en ‘X Label’, cambiar los límites en ‘X Limits’; de la misma forma, en ‘Y Axes’, el
nombre del eje Y, cambiar los límites en ‘Y Labels’. Enseguida se encuentra la
pestaña ‘Font’, para editar el tipo y tamaño de letra de los títulos y números de los
ejes. Al lado izquierdo en estas mismas opciones, se puede elegir el color de fondo
de la gráfica y seleccionar si se desea líneas en el eje X y en el eje Y, para formar
la cuadrícula, ‘Grid’ de fondo, así como el color de las líneas de cuadrícula y el
marco de la gráfica ‘Box’.
21
(a) (b)
Figura 4: Gráfica generada con la función plot. (a) Menú Edit para seleccionar
Figure Properties…, (b) Se abre el submenú de opciones Property Editor –
Figure
22
(a) (b)
Figura 5: Uso de Property Editor – Axes para introducir: (a) el nombre de los
ejes, modifica sus límites, tamaño y tipo de letra. (b) color del fondo de la gráfica,
líneas en los ejes y marco.
23
(a) (b)
Figura 6: Uso de Property Editor –Lineseries para introducir (a) Tipo de gráfica;
(b) Tipo de línea, grosor y su color; tipo de marcador, su tamaño, color de fondo
y contorno.
Es posible graficar dos o más series de datos (x,y) en la misma gráfica con la función
‘plot’, ejemplo (Figura 7):
>> x = [0:0.20:10];
>> y1 = exp(0.25*x);
>> y2 = 18*exp(-0.56*x);
>>xlabel('tiempo (min)')
>>ylabel('concentración (g/L)')
>>legend('C_A', 'C_B')
24
Figura 7. Gráfica utilizando la función plot(x, y1, x, y2)
Este tipo de gráfica para dos series de datos es posible realizarla si los vectores de
y1 y y2 tienen escalas similares. En caso contrario se debe graficar un eje y en el
lado izquierdo y el otro en el lado derecho utilizando la función plotyy(x1, y1,
x2, y2).Ejemplo:
>> x = [0:0.10:4];
>> y1 =10*sin(2.5*x);
>> y2 = 158*exp(-2.6*x);
>>plotyy(x,y1, x,y2)
25
Figura 8. Gráfica utilizando la función plotyy(x, y1, x, y2)
Los nombres en los dos ejes y no es posible asignarlos solo con la instrucción ylabel,
ni en el menú de gráficas con Property Editor – Figure. Es necesario utilizar la
notación: [AX,H1,H2] = plotyy(...) con esto se producen los dos ejes
creados en AX y los objetos gráficos en H1 y H2. AX (1) es el eje izquierdo y AX
(2) es el eje derecho.Después ya es posible asignarle nombre a cada eje y, por
medio de ylabel. Ejemplo:
>>ylabel(Y(1),'Función F_1')
>>ylabel(Y(2),'Función F_2')
>>xlabel('Distancia x (m)')
26
Figura 9. Gráfica utilizando la función [Y, f1,f2] = plotyy(x, y1, x,
y2)y asignando nombres a los ejes
ylabel(Y(1),'Función F_1')
xlabel('Distancia x (m)')
27
Figura 10. Gráfica utilizando la función [Y, f1,f2] =
plotyy(x,y1,x,y2,'plot','semilogy')y desplegando la cuadricula
logarítmica para el eje y izquierdo con grid(Y(2), 'on')
28
Graficas en 2D de promedio de datos y con desviación estándar.
29
std(A) Si A es un vector de mediciones, entonces la desviación
estándar es un escalar.
t1 t2 t3 t4 t5 t6 …
C1
C2
C3
Des.Std.
t C1 C2 C3 Desv. Std.
t1
t2
t3
t…
30
Ejemplo: Un experimento para seguir la cinética de una cierta reacción se realizó
por triplicado, los siguientes datos corresponden a las mediciones de concentración
del reactivo a diferentes tiempos. Graficar la concentración promedio y su
desviación estándar.
t P1 P2 P3
5 17 17.9 16
7 19 22 20.4
9 23 26 24.8
17 17.9 16
31
19 22 20.4
23 26 24.8];
g = mean(C,2);
Para obtenerun vector con la desviación estándar de los datos de cada fila:
sd = std(C, 0, 2)
t = [0 1 2 3 4 5 7 9];
errorbar(t,g,sd, 'o')
xlabel('Tiempo (h)')
La función errorbar produce una gráfica del vector x (en este caso representado
por (t) contra el vector de promedios de concentración (g) y su respectiva desviación
estándar (sd).
32
Figura 11. Gráfica de promedios de la concentración y su respectiva desviación
estándar utilizando la función errorbar(t,g,sd, 'o')
Existen varias formas de obtener la línea de tendencia de los datos en una figura.
33
Figura 12. Gráfica de promedios de concentración y su respectiva desviación
estándar utilizando la función errorbar(t,g,sd, 'o'), además la línea de
tendencia de los datos (promedios).
34
3.2 Gráficas en tres dimensiones
MATLAB tiene posibilidades de realizar varios tipos de gráficas en 3D. La primera
forma es con la función plot3, que es el análogo tridimensional de la función plot.
Esta función crea puntos cuyas coordenadas están contenidas en tres vectores,
mediante una línea continua, su forma más sencilla es:
>> plot3(x, y, z)
La cual crea una línea que une los puntos ((x(1), y(1), z(1)) , (x(2), y(2), z(2)…)) y la
proyecta sobre un plano en 3D. Al igual que en el caso 2D, se puede incluir otro
carácter para determinar su color. Ejemplo, ejecute en la ventana de comandos:
>>st = [0:0.25:20];
35
(a) (b)
Figura 13. Gráfica generada con la función plot3. (a) Uso de Property Editor –
Axes; (b) Uso de Property Editor – Figure para seleccionar el color del fondo de
la Figura.
Otras funciones para generar gráficas en 3D son: mesh y surf. Para graficar una
función de dos variables (z = f(x,y)).
36
Ejemplo. Suponga que la siguiente tabla contiene la solución numérica del modelo
T T
k
t x
x = Longitud
0 40 40 40 40 40 40 40 40 40 40 40
5 38.25 40.17 43.99 45.90 51.64 55.47 57.38 59.29 61.21 63.12 66.94
10 36.91 40.30 47.47 51.25 63.35 72.05 76.58 81.24 86.02 90.92 101.07
15 35.87 40.41 50.45 55.97 74.61 88.82 96.48 104.51 112.93 121.74 140.53
20 35.06 40.49 52.97 60.06 85.03 105.00 116.06 127.85 140.41 153.76 182.93
25 34.43 40.56 55.07 63.54 94.41 120.05 134.54 150.22 167.14 185.35 225.89
30 33.93 40.62 56.82 66.48 102.66 133.62 151.43 170.90 192.14 215.24 267.42
35 33.53 40.66 58.25 68.92 109.77 145.58 166.45 189.48 214.80 242.57 306.07
40 33.22 40.70 59.43 70.94 115.81 155.91 179.53 205.78 234.84 266.93 340.98
45 32.97 40.73 60.38 72.60 120.88 164.70 190.74 219.83 252.22 288.15 371.75
y = tiempo
50 32.78 40.75 61.16 73.95 125.10 172.09 200.20 231.76 267.04 306.35 398.35
55 32.62 40.77 61.79 75.05 128.58 178.24 208.11 241.76 279.52 321.73 421.00
60 32.49 40.78 62.29 75.95 131.43 183.32 214.67 250.08 289.92 334.58 440.04
65 32.39 40.79 62.70 76.67 133.76 187.48 220.05 256.93 298.52 345.24 455.89
70 32.32 40.80 63.03 77.25 135.65 190.88 224.46 262.55 305.58 354.00 468.98
75 32.25 40.81 63.30 77.72 137.18 193.65 228.05 267.14 311.35 361.18 479.73
80 32.20 40.82 63.51 78.10 138.42 195.89 230.97 270.86 316.05 367.02 488.50
85 32.16 40.82 63.68 78.40 139.42 197.70 233.33 273.88 319.85 371.76 495.63
90 32.13 40.83 63.81 78.64 140.22 199.16 235.23 276.32 322.93 375.60 501.41
95 32.10 40.83 63.92 78.84 140.87 200.34 236.76 278.29 325.42 378.70 506.09
100 32.08 40.83 64.01 79.00 141.39 201.28 238.00 279.87 327.42 381.20 509.86
37
Para hacer la gráfica en 3D con la función mesh(X, Y, Z) o surf(X, Y, Z) se
procede:
>>mesh(L,t,T)
38
– Figure Properties de la Figura, se puede seleccionar el color de las líneas al abrir
Colormap (Fig. 15(b))
(a) (b)
Figura 15: Gráfica generada con la función mesh. Uso de Property Editor –
Figure, en la opción Colormap:(a) opción Jet; (b) opción Cool.
>>surf(L, t, T)
39
Figura16: Gráfica generada con la función surf.
40