Apuntes de MATLAB-1era Parte PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 41

Contenido

Parte 1

Teoría de MATLAB ............................................................................................... 1

Entorno de trabajo de MATLAB ........................................................................ 1

La ventana de comandos de MATLAB ............................................................. 2

1. Definición de variables ................................................................................ 4

1.1 Variables, números, operadores y funciones. ...................................... 4

1.2 Variables vectoriales ............................................................................ 5

1.3 Variables matriciales ............................................................................ 9

2. Operaciones matemáticas básicas ........................................................... 13

2.1 Operaciones término a término: .* ./ .^ \ ........................................... 16

3. Graficas en 2 y 3 dimensiones ................................................................. 19

3.1 Gráficas en dos dimensiones ............................................................. 19

3.2 Gráficas en tres dimensiones ............................................................. 35


Teoría de MATLAB
MATLAB es el nombre abreviado de “MATrixLABoratory”. MATLAB es un programa
para realizar cálculos numéricos con vectores y matrices, entre otros usos. Como
caso particular puede también trabajar con números escalares, tanto reales como
complejos. Una de las capacidades más atractivas es la de realizar una amplia
variedad de gráficas en dos y tres dimensiones. MATLAB tiene también un lenguaje
de programación propio.

Entorno de trabajo de MATLAB

La pantalla de entrada de MATLAB constituye el marco de trabajo general del


programa. Los elementos más importantes de esta pantalla de inicio de MATLAB
(Figura 1) son los siguientes:

 Command Window (ventana de comandos): ejecuta las funciones MATLAB.


 Command History (historial de comandos): presenta una historia de todas las
funciones introducidas en la ventana de comandos y permite copiarlas y
ejecutarlas.
 Launch Pad: ejecuta herramientas y documentación de acceso para todos
los productos de MathWorks instalados actualmente en la computadora.
 Current Directory (directorio actual): muestra archivos de MATLAB y ejecuta
operaciones de tales como abrir y buscar contenido.
 Help: muestra y busca documentación para la familia completa de productos
MATLAB.
 Workspace (espacio de trabajo): muestra las variables manipuladas en la
ventana de comandos
 Array Editor: muestra contenido de matrices en formato de tabla y edita sus
valores.
 Editor/Debugger: crea, edita y corre los M-File (archivos que contienen
sintaxis de funciones MATLAB en un programa)

1
Figura 1: Entorno de trabajo de MATLAB

Para abrir o cerrar ventanas en el entorno de trabajo se abre la pestaña Layout y


ahí se marcan o desmarcan las ventanas deseadas.

La ventana de comandos de MATLAB


La ventana de comandos (Fig. 2) es el camino principal para comunicarse con
MATLAB. Aparece en el escritorio cuando se inicia MATLAB y se utiliza para
ejecutar funciones y todo tipo de operaciones. Las entradas a ejecutar se escriben
a continuación del ‘prompt’ >> y, una vez completadas, se pulsa ‘enter’. En la
primera línea de la Figura 2 se define una matriz y, al pulsar ‘enter’ se obtiene como
salida la propia matriz. MATLAB es sensible al uso de mayúsculas y minúsculas,
pero permite situar o no espacios en blanco antes y después del signo menos, de
los dos puntos y de los paréntesis. MATLAB también permite escribir varias
entradas sobre la misma línea, pero separadas por punto y coma. Las entradas se
ejecutan todas secuencialmente según están colocadas en la línea, pero solo se
ofrece la salida de la última, siempre y cuando no finalice también en punto y coma.
Cualquier entrada que tenga punto y coma detrás se ejecuta al pulsar ‘enter’, no se

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.

Figura 2: Ventana de comandos (CommandWindow)

3
1. Definición de variables

1.1 Variables, números, operadores y funciones


MATLAB no requiere ningún tipo de comando para declarar variables.
Sencillamente crea la variable mediante asignación directa de su valor. Por ejemplo

>> v = 3

v =

La variable v valdrá 3 mientras no se cambie su valor mediante una nueva


asignación. Una vez declarada la variable podemos utilizarla en cálculos.

>> v^3

ans =

27

>> v+5

ans =

El valor asignado a una variable es permanente, hasta que no se cambie de forma


expresa o hasta que no se salga de la presente sesión de MATLAB. Si ahora
escribimos:

>> v=3+7

v =

10

La variable v ahora toma el valor de 10, por lo cual en el siguiente cálculo:

>> 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.

1.2 Variables vectoriales


Para representar a un vector de n elementos, se puede definir en MATLAB una
variable de las siguientes formas:

V = [v1, v2, v3, …,vn]

V = [v1 v2 v3 … vn]

Cuando se aplican las funciones de MATLAB sobre una variable vectorial el


resultado que se obtiene es la aplicación de la función sobre cada elemento del
vector:

>> vector1= [1,4,9,2.25,1/4]

vector1=

1.0000 4.0000 9.0000 2.2500


0.2500

>>sqrt(vector1)

ans =

1.0000 2.0000 3.0000 1.5000


0.5000

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.

variable=[a:s:b] Define el vector donde el primero y último elemento son


a y b, y los elementos intermedios se diferencian en la
cantidad s especificada por el incremento.

A continuación, se presentan algunos ejemplos:

>> R = [5:5:25]

R =

5 10 15 20 25

El vector R contiene los números entre 5 y 25 separados por 5 unidades.

>> 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

El vector Q contiene los números entre 10 y 30 separados una unidad.

En MATLAB también existe la posibilidad de considerar vectores filas y vectores


columnas. Un vector columna se obtiene separando sus elementos por punto y
coma, o también transponiendo un vector fila mediante una comilla simple situada
al final de su definición.

6
>> a = [10; 20; 30; 40]

a =

10

20

30

40

>> a = [10:14]; b=a’

b =

10

11

12

13

14

>> c = (a’)’

10 11 12 13 14

Asimismo, podemos seleccionar un elemento de un vector o un subconjunto de


elementos, atendiendo las siguientes instrucciones:

x(n) Devuelve el enésimo elemento del vector x

x(a:b) Devuelve los elementos del vector x situados entre el a-


ésimo y el b-ésimo, ambos inclusive.

x(a:p:b) Devuelve los elementos del vector x situados entre el a-


ésimo y el b-ésimo, ambos inclusive, pero separados de p
en unidades (a>b)

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

w es el sexto elemento del vector x.

>> 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

El vector q contiene los elementos del vector x situados entre el segundo y el


noveno, ambos inclusive, pero separados de tres en tres unidades.

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:

M = [a11 a12 a13; a21 a22 a23; a31 a32 a33]

M = [a11,a12 ,a13; a21 ,a22 ,a23; a31 ,a32 ,a33]

De forma semejante se definiría una variable matricial de dimensión m x n. Una vez


que una variable matricial ha sido definida, MATLAB habilita muchos caminos para
insertar, extraer, reenumerar y manipular en general sus elementos. Enseguida se
presentan algunas de las diferentes posibilidades de definición de variables
matriciales:

A(m,n) Define el elemento (m,n) de la matriz A (fila m y


columna n)

A(a:b,c:d) Define la submatriz de A formada por las filas que


hay entre la a-ésima y la b-ésima y por las
columnas que hay entre las c-ésima y d-ésima.

A(a:p:b,c:q;d) Define la submatriz de A formada por las filas que


hay entre la a-ésima y la b-ésima tomándolas de
p en p, y por las columnas que hay entre las c-
ésima y la d-ésima de q en q

A([a b],[c d]) Define la submatriz de A formada por la


intersección de las filas a-ésima y b-ésima y las
columnas c-ésima y d-ésima

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, …

A(:,c:d) Define la submatriz de A formado por todas las


filas de A y por las columnas que hay entre la c-
ésima y d-ésima.

A(:,[c d e …]) Define la submatriz de A formada por todas las


filas de A y por las columnas c, d, e, …

A(a:b,:) Define la submatriz de A formada por todas las


columnas de A y por las filas que hay entre la a-
ésima y la b-ésima

A([a b c …],:) Define la submatriz de A formada por todas las


columnas de A y por las filas a, b, c, …

A(a,:) Define la fila a-ésima de la matriz A

A(:,b) Define la columna b-ésima de la matriz A

A(:) Define un vector columna cuyos elementos son


las columnas de A situadas por orden una debajo
de otra

A(:,:) Equivale a toda la matriz A

[A,B,C,…] Define la matriz formada por la submatrices A, B,


C, …

A(a,:) =[ ] Borra filas y columnas de la matriz A por medio de


A(:,b) =[ ] la asignación de [ ] y devuelve al resto de la matriz

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

Ahora se va a cambiar el elemento (2,3), es decir, su último elemento:

>> A (2,3) =0

A =

1 3 5

7 9 0

A continuación, se considera la matriz B transpuesta de A:

>>B = A’

B =

1 7

3 9

5 0

Ahora se construye una matriz C, formada por la matriz B y la matriz identidad de


orden 3 contigua a su derecha:

>>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).

Enseguida se construye una matriz D extrayendo las columnas impares de la matriz


C:

>> 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 = C([1 2],[3 5])

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 = C([1 2],3:5)

F =

1 0 0

0 1 0

Ahora se puede borrar la segunda fila de la matriz C, por medio de la asignación de


[ ] y devuelve al resto de la matriz

>>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

2. Operaciones matemáticas básicas

Las operaciones aritméticas con matrices y vectores son la adición, sustracción y


multiplicación. La adición y sustracción solo son definidas si dos matrices o vectores
tiene las mismas dimensiones

>> 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

1 2   5 6  1*5  2*7 1*6  2*8  19 22 


3 4  * 7 8   3*5  4*7 
3*6  4*8  43 40 
    

C =

19 22

43 50

Si se introduce la siguiente instrucción en la ventana de comandos

>> x = [1 2]

x =

1 2

>> D = A*x

??? Error using ==> *

Inner matriz dimensions must agree.

Aparece este mensaje, que indica error al efectuar la operación de multiplicación,


porque las dimensiones de las matrices multiplicadas A, y x, deben coincidir. En
este caso, si se toma la transpuesta del vector 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 *

Inner matrix dimensions must agree.

La multiplicación de una matriz por un escalar:

>> S = 3*A

S =

3 6

9 12

2.1 Operaciones término a término: .* ./ .^ \


MATLAB tiene tres operaciones, que las llamaremos operaciones con punto, que
permiten:

i) multiplicar matrices término a término: .*

ii) dividir matrices término a término: ./

ii) elevar los términos de una matriz a una cierta potencia: .^

>> 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

1 2   5 6  1/ 5 2 / 6   0.2 0.33


3 4  . /  7 8   3 / 7 
4 / 8  0.42 0.5 
    

G =

0.2000 0.3333

0.4286 0.5000

La división de B/A es equivalente a B*inv(A)

>>B/A

ans =

-1.0000 2.0000

-2.0000 3.0000

>>B*inv(A)

ans =

-1.0000 2.0000

-2.0000 3.0000

En la división con diagonal inversa \, si A y B son matrices cuadradas, A\B es


aproximadamente inv(A)*B, excepto que se calcula de una forma diferente. Si Aes
una matrizde n x n elementos y B es un vector columna de n elementos, entonces

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

La división con diagonal inversa y punto .\ es la matriz con elementos B(i,j)/A(i,j). A


y B deben tener el mismo tamaño, a menos que uno de ellos sea un escalar

>> 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

Arreglo de potencias A.^p, los elementos de la matriz A se elevan a la potencia p,


si p es un escalar

>> H = B.^3

H =

3
 5 6   53 63  125 216 
125 216 7 8    3  
  7 83  343 512 

343 512

Matriz de potencias A.^B es la matriz con los elementos A(i,j)elevados a la potencia


B(i,j). A y B deben ser del mismo tamaño, a menos que uno de ellos sea un escalar.

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

??? Error using ==>mpower

Matriz transpuesta. A’ es la matriz transpuesta algébrica de A

A =

1 2

3 4

>> A'

ans =

1 3

2 4

3. Gráficas en 2 y 3 dimensiones

3.1 Gráficas en dos dimensiones


Para crear gráficas en dos dimensiones, primero se introducen en la ventana de
comandos las variables x, y. Existen dos opciones para hacerlo:

19
1) como vectores conteniendo las coordenadas de los puntos a graficar, que deben
ser de la misma longitud:

>> x = [-3 -1 0 4 8 9];

>> y = [11 3 2 18 66 83];

2) Otra forma es introducir la variable x, con el valor inicial, el incremento y el valor


final del vector; y la variable y como una función de x, f(x):

>> x = [-2*pi:pi/8:2*pi];

>> y = sin(x);

Después se introduce la función plot, enseguida entre paréntesis, las variables a


graficar y pulsar ‘enter’ (Fig. 3):

>>plot(x, y, ‘b’)

Figura 3: Ejemplo del uso del comando plot

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.

Otra propiedad importante de la gráfica es ‘Lineseries’, que define la curva de la


serie de datos, se despliegan los argumentos al posicionarse sobre la curva. En la
Figura 6 se muestra como con esta propiedad se puede editar el tipo de gráfico en
‘PlotType’; El tipo de línea, su grosor y coloren ‘Line’; se puede elegir un tipo de
marcador, su tamaño, color de fondo y contorno en ‘Marker’.

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);

>>plot(x, y1, 'b', x, y2,'m')

>>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)

Se produce la siguiente gráfica

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:

>> [Y, f1, f2] = plotyy(x,y1,x,y2);

>>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

Es posible cambiar el tipo de gráfica producida especificando el nombre: plot


(grafica los vectores x – y) semilog (grafica x – ln(y)) loglog (grafica ln(x) – ln(y)),
o cualquier otra función de Matlab que acepte la sintaxis. Ejemplo, Figura 10.

[Y, f1,f2] = plotyy(x,y1,x,y2,'plot','semilogy');

ylabel(Y(1),'Función F_1')

ylabel(Y(2),'Logaritmo natural de Función F_2')

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.

Media. La media de un grupo de valores es el promedio, se calcula por medio de la


función mean

mean(A) Calcula el valor promedio de los elementos del vector A. Si A


es una matriz, trata las columnas como vector y devuelve un
vector fila con los promedios de cada columna.

mean(A, dim) Devuelve el valor promedio de los elementos a lo largo de la


dimensión de A, especificada por dim. Por ejemplo
mean(x,2) devuelve un vector columna conteniendo los
promedios de cada fila o renglón.

Varianza y desviación estándar. La varianza es el promedio de las desviaciones


de los datos con respecto a la media, elevadas al cuadrado. La desviación estándar
se define como la raíz cuadrada de la varianza. MATLAB incluye una función para
calcular la desviación estándar. Para calcular la varianza, simplemente se eleva al
cuadrado la desviación estándar.

29
std(A) Si A es un vector de mediciones, entonces la desviación
estándar es un escalar.

std(A) Si A es una matriz cuyas columnas son variables aleatorias


(por ejemplo, tiempo) y las filas son las mediciones, (por
ejemplo, concentraciones) entonces std devuelve un
vector fila que contiene las desviaciones estándar
correspondientes a cada columna.

t1 t2 t3 t4 t5 t6 …

C1

C2

C3

Des.Std.

std(A,w,dim) devuelve la desviación estándar a lo largo de la dimensión


dim para cualquiera de las sintaxis anteriores. Para
mantener la normalización por defecto al especificar la
dimensión de operación, establezca w = 0 en el segundo
argumento. Si dim se establece 2 entonces std devuelve
un vector columna que contiene las desviaciones estándar
correspondientes a cada fila.

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

(horas) (g/L) (g/L) (g/L)

0 0.47 0.47 0.47

1 1.33 1.48 1.52

2 3.7 3.2 3.4

3 7.75 6.5 7.1

4 12.9 14.2 11.4

5 17 17.9 16

7 19 22 20.4

9 23 26 24.8

Primero se calcula el valor promedio de la concentración para cada tiempo:

C = [0.47 0.47 0.47

1.33 1.48 1.52

3.7 3.2 3.4

7.75 6.5 7.1

12.9 14.2 11.4

17 17.9 16

31
19 22 20.4

23 26 24.8];

Para obtener un vector con el promedio de cada fila:

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)')

ylabel('Concentración promedio de A (g/L)')

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.

a) Utilizando la barra de herramientas de la Figura, abriendo Tools, → Basic


Fitting y ahí se elige el ajuste deseado (Fig. 12).
b) Utizando funciones específicas para hacer el ajuste a la línea de tendencia
como spline.
c) Por medio de la App Curve Fitting, se muestra el procedimiento en la Parte
2.
d) Otra forma es calculando los parámetros de ajuste de un modelo matemático,
por medio de la función nlinfit, se muestra el procedimiento en la Parte
2.

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];

>>plot3(cos(st), sin(st), st, ‘r’)

La gráfica se muestra en la Figura 13. La función plot3 grafica los vectores en el


orden (x, y, z). De la misma forma que la gráfica en 2D se puede editar (menú ‘edit’,
Figure Properties…) y agregar los nombres de los ejes, cambiar color de línea, etc.
También es posible cambiar el fondo de la Figura, al posicionarse sobre cualquier
punto fuera de la gráfica se despliega el menú Property Editor – Figure, donde se
puede seleccionar el color del fondo, además de escribir el nombre de la gráfica.

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 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

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:

Si X y Y son vectores con longitud de X igual a n, Y con longitud igual a m, entonces


el tamaño de la matriz Z debe ser [m,n], ejemplo

(X) → L = [0:0.5:5]; longitud m = 11

(Y) → t = [0:5:100]; longitud n = 21

(Z) →T = matriz de tamaño m x n = 11 x 21

>>mesh(L,t,T)

Figura 14. Gráfica generada con la función mesh

La función mesh crea la gráfica de la matriz de la función Z de dimensión m x n,


dibujándola en perspectiva, en base a una cuadrícula abierta de la superficie
definida en líneas de colores, como se muestra en la Figura 15. Con el menú Editor

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.

También se puede crear la gráfica 3D con la función surf:

>>surf(L, t, T)

Obsérvese la diferencia entre la Figura 14 y la Figura 16. En esta última se genera


una gráfica de la cuadrícula sombreada de la superficie definida por la matriz Z, en
vez de líneas. También se pueden seleccionar diferentes colores para la superficie
con la instrucción Colormap.

39
Figura16: Gráfica generada con la función surf.

40

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy