Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Introducci´on a los Computadores (CNM-130) Vectores y matrices en Matlab® Alejandro Piedrahita H. Instituto de Matem´ aticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft «2013. Reproducci´ on permitida bajo los t´ erminos de la licencia de documentaci´ on libre GNU. Documento bajo construcci´ on, reportar errores al correo electr´ onico
[email protected]
Referencias
Vectores en Matlab
Ejemplos con vectores
Contenido
1
Vectores en Matlab
2
Ejemplos con vectores
3
Matrices en Matlab
4
Ejemplos con matrices
5
Referencias
Matrices en Matlab
Ejemplos con matrices
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Vectores en Matlab Arreglo: concepto en programaci´ on an´ alogo a los conceptos matem´ aticos de vector, matriz y tensor Arreglo unidimensional (vector): estructura de datos formada por una colecci´ on finita de elementos homog´eneos y ordenados que se referencian con un nombre com´ un Homog´ eneos: todos los elementos son del mismo tipo de dato Ordenados: el arreglo tiene un primer elemento, un segundo elemento, etc. Finito: el arreglo tiene un u ´ ltimo elemento
Los elementos de un arreglo se almacenan en posiciones consecutivas de memoria
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Vectores en Matlab Comando [∗ ∗ · · · ∗] m:n
Uso Genera el vector (∗, ∗, · · · , ∗) Genera el vector (m,m+1,...,n)
m:d:n
Genera el vector (m,m+d,m+2d,...,n)
x(k)
Muestra la k-´ esima entrada del vector x
>> x = [1 2 3] x = 1 2 3
>> x(3) = 2*x(1) - 3*x(3) x = 1 -4 -7
>> y = [3, -2, 1] y = 3 -2 1
>> x(-2)
>> x(3) ans = 3
>> [x y] ans = 1
>> x(2) = -4 x = 1 -4
>> vacio = [] vacio = []
3
Index exceeds matrix dimensions.
-4
-7
3
-2
1
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Vectores en Matlab Comando [∗ ∗ · · · ∗] m:n
Uso Genera el vector (∗, ∗, · · · , ∗) Genera el vector (m,m+1,...,n)
m:d:n
Genera el vector (m,m+d,m+2d,...,n)
x(k)
Muestra la k-´ esima entrada del vector x
>> numeros = [23 14 9 3 34 56 0 -3] numeros = 23 14 9 3 34 56 0 -3 >> numeros(1:3) ans = 23 14 9 >> numeros(3:2:7) ans = 9 34 0 >> numeros(6:-2:2) ans = 56 3 14
>> a = 3:2:9 a = 3 5 7
>> b = 10:-1:3 b = 10 9 8
>> a(:) ans = 3 5 7 9
9
7 6
5
4
3
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Operaciones con vectores en Matlab Operador
Operaci´ on
==
Igualdad de vectores (componente por componente)
.∧
Potencia de vectores (componente por componente)
.* , ./ +,rem(x,y)
Producto y divisi´ on de vectores (componente por componente) Suma y resta de vectores M´ odulo (residuo) entre componentes de vectores x e y
>> u = 1:3; v = -1:2:3;
>> u.*v ans = -1
2
9
>> u == v ans = 0 0
1
>> 2*u ans = 2
6
>> rem(v,u) ans = 0 1
0
6
>> u+1 ans = 2
4
>> u+v ans = 0
4
3
>> u.∧v ans = 1
2
3
27
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Comparando vectores en Matlab Operador ∼=
>> x >= y ans = 0 1 >> x >= 1 ans = 1 1
Diferente de (componente por componente)
<
Menor que (componente por componente)
>
Mayor que (componente por componente)
=
Mayor igual (componente por componente)
>> x = [1 2 3]; y = [3 2 1]; >> x ∼= y ans = 1 0
Operaci´ on
1
1
1
>> fib = [1 1 2 3 5 8 13];
>> fib < 5 ans = 1 1
1
1
>> fib(fib < 5) ans = 1 1 2
3
>> rem(fib,2) == 0 ans = 0 0 1
0
>> fib(rem(fib,2) == 0) ans = 2 8
0
0
0
1
0
0
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Operadores l´ogicos con vectores en Matlab Operador
Operaci´ on
&
y l´ ogico para vectores
|
o l´ ogico para vectores
∼
negaci´ on
2
3
>> ∼x ans = 0
2
1
>> t = 0;
>> x & y ans = 1 1
1
>> t * sin(1/t) == 0 ans = 0
>> x, y x = 1 y = 3
>> x && y
0
0
convertible to logical scalar values.
>> (t == 0) | (sin(1/t) == 0) ans = 1
>> x | y ans = 1 1
>> (t == 0) || (sin(1/t) == 0) ans = 1
Operands to the || and && operators must be
1
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Algunas funciones predefinidas en Matlab Funci´ on
Uso
abs(x) sqrt(x) exp(x) log(x) sin(x) cos(x) tan(x) asin(x) acos(x) atan(x· · · )
Calcula Calcula Calcula Calcula Calcula Calcula Calcula Calcula Calcula Calcula
>> x = [-9 -4 ans = -9 -4 >> abs(x) ans = 9 4
-1
0
-1
1
>> sqrt(abs(x)) ans = 3 2 1
0
0
el la la el el el la el el la
valor absoluto de los elementos de un vector x ra´ız cuadrada de los elementos de un vector x funci´ on exponencial de los elementos de un vector x logaritmo natural de los elementos de un vector x seno de los elementos de un vector x coseno de los elementos de un vector x tangente de los elementos de un vector x seno inverso de los elementos de un vector x coseno inverss de los elementos de un vector x tangente inversa de los elementos de un vector x
1
16];
0
1
1
1
>> alfa = [0 pi/3 pi/6 pi/2]; 16
16
>> cos(alfa) ans = 1.0000 0.5000
0.8660
0.0000
4
>> cos(alfa) ans = 0.0000 0.8660
0.5000
1.0000
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Algunas funciones predefinidas en Matlab Funci´ on
Uso
length(x) max(x) min(x) sum(x) cumsum(x) prod(x) cumprod(x) mean(x) median(x) var(x) sort(x) any(x· · · ) find(x)
Calcula el n´ umero de elementos de un vector x Calcula el mayor de un conjunto de datos x Calcula el menor de un conjunto de datos x Calcula la suma de los elementos de un vector x Calcula las sumas acumuladas de conjunto de datos x Calcula el producto de los elementos de un vector x Calcula los productos acumulados de conjunto de datos x Calcula la media aritm´ etica de un conjunto de datos x Calcula la mediana de un conjunto de datos x Calcula la varianza de un conjunto de datos x Ordena de menor a mayor los elementos de un vector x true (1) si alg´ un elemento de x cumplple propiedad · · · Devuelve las posiciones de los elementos true (1) de un vector x
>> x = [3 2 4 0 -5 7];
>> max(x) ans = 7
>> length(x) ans = 6
>> sort(x) ans = -5 0
2
3
4
7
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Algunas funciones predefinidas en Matlab Funci´ on
Uso
length(x) max(x) min(x) sum(x) cumsum(x) prod(x) cumprod(x) mean(x) median(x) var(x) sort(x) any(x· · · ) find(x)
Calcula el n´ umero de elementos de un vector x Calcula el mayor de un conjunto de datos x Calcula el menor de un conjunto de datos x Calcula la suma de los elementos de un vector x Calcula las sumas acumuladas de conjunto de datos x Calcula el producto de los elementos de un vector x Calcula los productos acumulados de conjunto de datos x Calcula la media aritm´ etica de un conjunto de datos x Calcula la mediana de un conjunto de datos x Calcula la varianza de un conjunto de datos x Ordena de menor a mayor los elementos de un vector x true (1) si alg´ un elemento de x cumplple propiedad · · · Devuelve las posiciones de los elementos true (1) de un vector x
>> x = 1:10;
>> sum(x) ans = 55
>> x ans = 1
2
3
>> cumsum(x) ans = 1 3 6 10
4
5
15
6
7
8
9
10
21
28
36
45
55
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Algunas funciones predefinidas en Matlab Funci´ on
Uso
length(x) max(x) min(x) sum(x) cumsum(x) prod(x) cumprod(x) mean(x) median(x) var(x) sort(x) any(x· · · ) find(x)
Calcula el n´ umero de elementos de un vector x Calcula el mayor de un conjunto de datos x Calcula el menor de un conjunto de datos x Calcula la suma de los elementos de un vector x Calcula las sumas acumuladas de conjunto de datos x Calcula el producto de los elementos de un vector x Calcula los productos acumulados de conjunto de datos x Calcula la media aritm´ etica de un conjunto de datos x Calcula la mediana de un conjunto de datos x Calcula la varianza de un conjunto de datos x Ordena de menor a mayor los elementos de un vector x true (1) si alg´ un elemento de x cumplple propiedad · · · Devuelve las posiciones de los elementos true (1) de un vector x
>> x = [1 2 4 6 8 10 12 15];
>> median(x) ans = 7
>> mean(x) ans = 7.2500
>> var(x) ans = 24.2143
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Algunas funciones predefinidas en Matlab Funci´ on
Uso
length(x) max(x) min(x) sum(x) cumsum(x) prod(x) cumprod(x) mean(x) median(x) var(x) sort(x) any(x· · · ) find(x)
Calcula el n´ umero de elementos de un vector x Calcula el mayor de un conjunto de datos x Calcula el menor de un conjunto de datos x Calcula la suma de los elementos de un vector x Calcula las sumas acumuladas de conjunto de datos x Calcula el producto de los elementos de un vector x Calcula los productos acumulados de conjunto de datos x Calcula la media aritm´ etica de un conjunto de datos x Calcula la mediana de un conjunto de datos x Calcula la varianza de un conjunto de datos x Ordena de menor a mayor los elementos de un vector x true (1) si alg´ un elemento de x cumplple propiedad · · · Devuelve las posiciones de los elementos true (1) de un vector x
>> x ans = 1
2
4
6
8
>> x( x > median(x) ) ans = 8 10 12 15
10
12
15
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Algunas funciones predefinidas en Matlab
>> x ans = 1
2
Funci´ on
Uso
length(x) max(x) min(x) sum(x) cumsum(x) prod(x) cumprod(x) mean(x) median(x) var(x) sort(x) any(x· · · ) find(x)
Calcula el n´ umero de elementos de un vector x Calcula el mayor de un conjunto de datos x Calcula el menor de un conjunto de datos x Calcula la suma de los elementos de un vector x Calcula las sumas acumuladas de conjunto de datos x Calcula el producto de los elementos de un vector x Calcula los productos acumulados de conjunto de datos x Calcula la media aritm´ etica de un conjunto de datos x Calcula la mediana de un conjunto de datos x Calcula la varianza de un conjunto de datos x Ordena de menor a mayor los elementos de un vector x true (1) si alg´ un elemento de x cumplple propiedad · · · Devuelve las posiciones de los elementos true (1) de un vector x
4
>> any(x == 8) ans = 1
6
8
10
12
15
>> find( rem(x,3) == 0) ans = 4 7 8 >> x( find( rem(x,3) == 0 ) ) ans = 6 12 15
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Recorriendo un arreglo
El recorrido se realiza por medio de un ´ındice El ´ındice puede ir desde el primero hasta el u ´ltimo elemento Recorrido del primero al u ´ltimo for i=1:n % proceso que involucra a x[i] end
El ´ındice puede ir desde el u ´ltimo hasta el primer elemento Recorrido del u ´ltimo al primero for i=n:-1:1 % proceso que involucra a x[i] end
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Ejercicios
Ejercicio 2.1 (Notas) Escriba un programa en que almacene en un vector (arreglo unidimensional) las notas finales de los alumnos de un curso formado por 10 estudiantes. El programa debe visualizar por pantalla las notas.
Ejercicio 2.2 (Notas promedio) Modifique el programa del ejercicio anterior (2.1) para que muestre por pantalla el promedio de notas del curso.
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Ejemplo 2.1: Fibonacci con vectores Ejemplo 2.1 Realice un programa (utilizando vectores) que calcule los n primeros t´erminos de la suci´ on de Fibonacci 1, 1, 2, 3, 5, 8, 13, 21, 34, . . . Soluci´ on n: almacena el entero hasta donde se realiza la suma El t´ermino n-´esimo de la sucesi´ on para n = 2, 3, . . . est´ a dado por: fn = fn−1 + fn−2 con f0 = f1 = 1 fib: vector que almacenar´ a los t´erminos de la sucesi´ on >> fib = [1 1];
>> i = i+1; >> fib(i) = fib(i-1) + fib(i-2);
>> i = 3; >> fib(i) = fib(i-1) + fib(i-2);
>> i = i+1; >> fib(i) = fib(i-1) + fib(i-2);
>> fib fib = 1
>> fib fib = 1
1
2
1
2
3
5
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Ejemplo 2.1: Fibonacci con vectores fibofun.m
function fib = fibofun(n) % El programa calcula los n primeros terminos % de la sucesion de Fibonacci utilizando vectores. fib = [1 1]; for i=3:n fib(i) = fib(i-1) + fib(i-2); end end
>> fibofun(10) ans = 1 1 2
3
>> z = fibofun(1000); >> z(1000)/z(999) ans = 1.6180
5
8
13
21
34
55
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Funciones “vectorizadas” Comando
Uso
arrayfun(@funcion,x)
Eval´ ua funcion en cada elemento del vector x
>> x = 1:7 ans = 1 2
3
4
5
6
7
>> arrayfun(@esprimo,x) ans = 0 1 1 0
1
0
Permiten aumentar la rapidez de ejecuci´ on de una funci´ on Se utilizan los operadores .*, ./ y .∧ en la definici´ on de una funci´ on funvec.m
function y = funvec(x) % Evalua la funcion f(x) = x∧2*sen(x)+1/x en % cada una de las componentes de un vector x y = x.∧2.*sin(x) + 1./x; end >> x = 1:5; >> funvec(x) ans = 1.8415 4.1372
1.6034
-11.8588
-23.7731
1
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Ejemplo 2.2 (densidad de los n´ umeros primos) Considere la funci´ on π(x) = n´ umero de primos ≤ x para cualquier n´ umero real x. Utilice una versi´ on “vectorizada” de la funci´ on esprimo desarrollada en clase para hallar π(x) y verifique num´ericamente que para valores “grandes” de x, π(x) ≈ x/ ln x, es decir, π(x) l´ım =1 x→∞ x/ ln x Soluci´ on >> n = 10; >> vec = 2:n vec = 2 3 4
>> sum(primos) ans = 4 5
6
7
8
9
10
>> primos = arrayfun(@esprimo,vec);
>> sum(primos)/(n/log(n)) ans = 0.9210
>> primos primos = 1 1
>> n = 1000; >> vec = 2:n; >> primos = arrayfun(@esprimo,vec); >> sum(primos)/(n/log(n)) ans = 1.1605
0
1
0
1
0
0
0
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Ejemplo 2.2: densidad de los n´ umeros primos l´ım
n→∞
π(n) =1 n/ ln n
>> n = 10; >> vec = 2:n; >> primos = arrayfun(@esprimo,vec);
>> n = 1000; >> vec = 2:n; >> primos = arrayfun(@esprimo,vec);
>> primos primos = 1 1
>> x = vec; >> y = cumsum(primos)/vec*log(vec);
>> vec vec = 2
0
1
0
1
0
0
0
>> plot(x,y) >> grid on 3
4
5
6
7
8
9
10
>> cumsum(primos) vec = 1 2 2 3
3
4
4
4
4
>> cumsum(primos)/vec*log(vec) ans = 0.3339 0.5293 0.6679 0.7754 0.8632 0.9375 1.0018 1.0586 1.1093
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Ejemplo 2.3: Criba de Erat´ ostenes Ejemplo 2.3 La Criba de Erat´ ostenes es un m´ etodo sistem´ atico para seleccionar (cribar) todos los n´ umeros primos menores que un entero n > 1. Primero se listan todos los n´ umeros naturales desde 2 hasta n y de esa lista se eliminan los n´ umeros que no son primos de la siguiente manera: cuando se encuentra un n´ umero que no ha sido eliminado de la lista, dicho n´ umero se declara primo y se procede a eliminar todos sus m´ ultiplos. Este proceso se repite mientras que el cuadrado del mayor n´ umero declarado como primo no exceda a n. Implemente una funci´ on que genere un vector con todos los primos menores que n por medio de la Criba de Erat´ ostenes.
11 21 31 41
2 12 Z 22 Z 32 Z 42 Z 2
11 21 Z 31 41
3 13 23 33 43
4 Z 14 Z 24 Z 34 Z 44 Z
3 13 23 33 Z 43
5 15 25 35 45
Z 6 16 Z 26 Z 36 Z 46 Z 5
15 Z 25 35 45 Z
7 17 27 37 47
8 Z 18 Z 28 Z 38 Z 48 Z 7 17 27 Z 37 47
9 19 29 39 49
10 Z 20 Z 30 Z 40 Z 50 Z 9 Z 19 29 39 Z 49
2 11 31 41
43
2 11 31 41
3 13 23
3 13 23 43
5 25 Z 35 Z
5
7 17 37 47
19 29 49
7 17 37 47
19 29 49 Z
Vectores en Matlab
Ejemplos con vectores
2 3 4 Z 12 13 14 Z Z 22 23 24 Z Z 32 Z 33 34 Z Z 42 43 Z 44 Z
11 21 Z 31 41
5
8 9 Z6 7 Z Z 16 17 18 19 Z Z 26 Z 27 28 29 Z Z 36 37 Z 38 39 Z Z 46 47 48 Z 49 Z Z
15 Z 25 Z 35 Z 45 Z
>> n = 10; i = 2; >> criba = 2:n; primos = []; >> criba criba = 2 3
Matrices en Matlab
10 Z 20 Z 30 Z 40 Z 50 Z
Ejemplos con matrices
Z Z Z Z
Referencias
: m´ ultiplos de 2 : m´ ultiplos de 3 : m´ ultiplos de 5 : m´ ultiplos de 7
>> criba = [i criba( rem(criba,i)∼= 0)] criba = 2 3 5 7 9 eratostenes.m
4
5
6
7
8
9
10
>> any(criba == i) ans = 1
for i=1:n if any(criba == i) primos = [primos i]; criba = [i criba( rem(criba,i)∼= 0)]; end end
>> primos = [primos i] primos = 2 >> rem(criba,i) ans = 0 1 0
∼=
function primos = eratostenes(n) % Devuelve los primos menores o iguales que n criba = 2:n; primos = [];
0 end
1
0
1
0
>> criba( rem(criba,i) ans = 3 5 7 9
∼=
0 )
1
0 >> eratostenes(30) ans = 2 3 5 7
11
13
17
19
23
29
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Ejemplo 2.4 (funci´ on log´ıstica) Para cada r ∈ [0, 4], la funci´ on fr (x) = rx(1 − x),
x ∈ [0, 1]
se denomina funci´ on log´ıstica. Para cada x1 ∈ [0, 1], la sucesi´ on {xn }∞ n=1 definida por xn+1 = f (xn ) se denomina sistema din´ amico discreto definido por fr . Si xn representa el tama˜ no de una poblaci´ on en el a˜ no n, xn+1 representa el tama˜ no de la poblaci´ on en el a˜ no n + 1. Implemente una funci´ on que tenga como argumentos a x1 , r y n y devuelva el vector {x1 , . . . , xn }. Grafique c´ omo evoluciona el sistema para valores distintos de x1 , r y n. Soluci´ on >> x = 0.2; >> r = 1.5; >> n = 8;
>> for i=1:7 y(i+1) = r*y(i)*(1-y(i)); end
>> y = zeros(1,n); >> y(1) = x; >> y y = 0.2000 0 0
>> y y = 0.2000 0.2400 0.2736 0.2981 0.3139 0.3230 0.3280 0.3306 0
0
0
0
0
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Ejemplo 2.4: funci´on log´ıstica logistica.m
function y = logistica(x,r,n) % Devuelve vector con el sistema dinamico % discreto generado por la funcion logistica y = zeros(1,n); y(1) = x;
>> y = logistica(0.2,2.9,100); >> plot(y,’o’) >> grid on
for i=1:n-1 y(i+1) = r*y(i)*(1-y(i)); end end
>> y = logistica(0.4,1.5,100); >> plot(y,’o’) >> grid on
>> y = logistica(0.5,3.5,100); >> plot(y,’o’) >> grid on
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Ejemplo 2.5: Torres de Han´ oi Ejemplo 2.5 La Torres de Han´ oi es un rompecabezas o juego matem´ atico inventado en 1883 ´ por el matem´ atico franc´ es Edouard Lucas, que consiste de un conjunto de discos de distintos tama˜ nos, enumerados de manera creciente y que se apilan insert´ andose de mayor a menor en una de tres estacas disponibles. El objetivo del juego es mover el conjunto completo de discos a otra estaca, moviendo cada disco a la vez de manera tal que un disco de mayor tama˜ no nunca est´ e sobre un disco de tama˜ no menor.
(a) Inicio
(b) Fin
Reglas Torres de Han´ oi I
S´ olo se puede mover un disco a la vez.
I
Un disco de mayor tama˜ no no puede estar sobre uno de menor tama˜ no.
I
S´ olo se puede desplazar el disco que se encuentre arriba en cada estaca.
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Ejemplo 2.5: Torres de Han´ oi Reglas Torres de Han´ oi I
S´ olo se puede mover un disco a la vez.
I
Un disco de mayor tama˜ no no puede estar sobre uno de menor tama˜ no.
I
S´ olo se puede desplazar el disco que se encuentre arriba en cada estaca.
(c) Inicio
(d) Paso 1
Figura: Soluci´ on con n = 1 discos, n´ umero de pasos: 2n − 1 = 1
(a) Inicio
(b) Paso 1
(c) Paso 2
Figura: Soluci´ on con n = 2 discos, n´ umero de pasos:
(d) Paso 3 2n
−1=3
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Ejemplo 2.5: Torres de Han´ oi Reglas Torres de Han´ oi I
S´ olo se puede mover un disco a la vez.
I
Un disco de mayor tama˜ no no puede estar sobre uno de menor tama˜ no.
I
S´ olo se puede desplazar el disco que se encuentre arriba en cada estaca.
(a) Inicio
(b) Paso 1
(c) Paso 2
(d) Paso 3
(e) Paso 4
(f) Paso 5
(g) Paso 6
(h) Paso 7
Figura: Soluci´ on con n = 3 discos, n´ umero de pasos: 2n − 1 = 7
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Ejemplo 2.5: Torres de Han´ oi
(a) Inicio
(b) Paso 1
(c) Paso 2
(d) Paso 3
(e) Paso 4
(f) Paso 5
(g) Paso 6
(h) Paso 7
(i) Paso 8
(j) Paso 9
(k) Paso 10
(l) Paso 11
(m) Paso 12
(n) Paso 13
(˜ n) Paso 14
Figura: Soluci´ on con n = 4 discos, n´ umero de pasos:
(o) Paso 15 2n
− 1 = 15
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Ejemplo 2.5: Torres de Han´ oi Algoritmo Torres de Han´ oi I
Si se tiene n = 1 disco, mover el disco de la estaca (1) a la (3).
I
Si se tienen n > 1 discos, 1 2 3
mover los primeros n − 1 discos de la estaca (1) a la (2), mover el disco restante de la estaca (1) a la (3), mover los primeros n − 1 discos de la estaca (2) a la (3).
hanoi.m
function hanoi(numdiscos, inicial, final) % hanoi(numdiscos, inicial, final) % Resuelve las Torres de Hanoi. "numdiscos" % es la cantidad de discos a mover, "inicial" % es la estaca donde se encuentran los discos % y "final" es la estaca a donde se van a % mover los discos. if numdiscos==1 fprintf(’Mover disco 1 desde la estaca %d hasta la estaca %d \n’, inicial, final); else intermedia = 6-inicial-final; hanoi(numdiscos-1, inicial, intermedia); fprintf(’Mover disco %d desde la estaca %d hasta la estaca %d \n’,numdiscos,inicial,final); hanoi(numdiscos-1, intermedia, final); end end
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Ejemplo 2.5: Torres de Han´ oi
(a) Inicio
(b) Paso 1
(c) Paso 2
Figura: Soluci´ on con n = 2 discos, n´ umero de pasos:
(d) Paso 3 2n
−1=3
hanoi.m
function hanoi(numdiscos, inicial, final) if numdiscos==1 fprintf(’Mover disco 1 desde la estaca %d hasta la estaca %d \n’, inicial, final); else intermedia = 6-inicial-final; hanoi(numdiscos-1, inicial, intermedia); fprintf(’Mover disco %d desde la estaca %d hasta la estaca %d \n’,numdiscos,inicial,final); hanoi(numdiscos-1, intermedia, final); end end >> hanoi(1,1,3) Mover disco 1 desde la estaca 1 hasta la estaca 3 >> hanoi(2,1,3) Mover disco 1 desde la estaca 1 hasta la estaca 2 Mover disco 2 desde la estaca 1 hasta la estaca 3 Mover disco 1 desde la estaca 2 hasta la estaca 3
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Ejemplo 2.5: Torres de Han´ oi
(a) Inicio
(b) Paso 1
(c) Paso 2
(e) Paso 4
(f) Paso 5
(g) Paso 6
Figura: Soluci´ on con n = 3 discos, n´ umero de pasos:
>> hanoi(3,1,3) Mover disco 1 desde Mover disco 2 desde Mover disco 1 desde Mover disco 3 desde Mover disco 1 desde Mover disco 2 desde Mover disco 1 desde
la la la la la la la
estaca estaca estaca estaca estaca estaca estaca
1 1 3 1 2 2 1
hasta hasta hasta hasta hasta hasta hasta
la la la la la la la
estaca estaca estaca estaca estaca estaca estaca
3 2 2 3 1 3 3
(d) Paso 3
(h) Paso 7 2n
−1=7
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Matrices en Matlab Arreglo bidimensional: concepto en programaci´ on an´ alogo al concepto matem´ atico de matriz
La definici´ on de arreglo bidimensional [] puede hacerse desde dos enfoques: Enfoque recursivo: se trata de un arreglo unidimensional en el que cada elemento es a su vez un arreglo unidimensional Enfoque directo: estructura de datos formada por una colecci´ on finita de elementos homog´ eneos, ordenados cada uno de ellos en dos dimensiones y referenciados con un nombre com´ un
El acceso a un elemento de la matriz se realiza mediante el nombre del arreglo (identificador ) y un par de ´ındices que indican la “posici´ on” del elemento
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Representaci´on gr´afica de un arreglo bidimensional Matriz con m filas (horizontales) y n columnas (verticales) ∗
∗ ∗
···
···
···
···
···
···
.. .
.. .
∗ : elemento (1,1) ∗ ∗ : elemento (1,3) ∗ : elemento (2,n-1) ∗ : elemento (3,2) ∗ : elemento (i,j)
∗
∗ : elemento (m,3) .. . ∗
···
.. .
∗ : elemento (m,n)
∗
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Declaraci´on de arreglos
Declaraci´ on de una matriz: nombre arreglo(filas,columnas)
nombre arreglo: identificador que representa la colecci´ on de elementos filas: constante entera positiva que representa la cantidad de filas columnas: constante entera positiva que representa la cantidad de columnas
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Matrices en Matlab Comando
Uso
[fila 1; ... ;fila m]
Crea una matriz con m filas
A(i,j)
Muestra la entrada de la fila i, columna j de la matriz A
A(i,:)
Muestra la fila i de la matriz A
A(:,j)
Muestra la columna j de la matriz A
A(k:l,:)
Muestra las entradas en todas las columnas entre las filas k y l
A(:,p:q)
Muestra las entradas en todas las filas entre las columnas p y q Muestra las entradas en las filas k hasta l y las columnas p hasta q
A(k:l,p:q)
>> A = [1 2 3; 4 5 6] A = 1 2 3 4 5 6
>> A A = 1 4
>> A(2,1) ans = 4 >> A(1,:) ans = 1 2
>> A(1,3) = -2; A(2,3) = 0;
3
>> A(:,3) A = -2 0
2 5
-2 0
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Matrices en Matlab Comando [fila 1; ... ;fila m]
Uso Crea una matriz con m filas
A(i,j)
Muestra la entrada de la fila i, columna j de la matriz A
A(i,:)
Muestra la fila i de la matriz A
A(:,j)
Muestra la columna j de la matriz A
A(k:l,:)
Muestra las entradas en todas las columnas entre las filas k y l
A(:,p:q)
Muestra las entradas en todas las filas entre las columnas p y q
A(k:l,p:q)
Muestra las entradas en las filas k hasta l y las columnas p hasta q
>> B = [2 3 -1 4 1; 1 -3 0 7 -2; 4 8 3 5 1; 4 3 1 8 5] B = 2 3 -1 4 1 1 -3 0 7 -2 4 8 3 5 1 4 3 1 8 5 >> B(:,2:4) ans = 3 -1 -3 0 8 3 3 1
4 7 5 8
>> B(2:3,2:4) ans = -3 0 8 3
7 5
>> B(2:4,1:3) ans = 1 -3 4 8 4 3
0 3 1
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Operaciones con matrices en Matlab Operaci´ on == + ,.* A’ zeros(m,n) ones(m,n) eye(n) diag(x) magic(n) rand(m,n) size(A) reshape(X,m,n)
Uso Igualdad de matrices (componente por componente) Suma y resta de matrices (componente por componente) Producto de matrices (componente por componente) La matriz transpuesta de A Crea una matriz m×n de ceros (0) Crea una matriz m×n de unos (1) Crea una matriz diagonal n×n con unos en la diagonal Crea una matriz diagonal con las entradas del vector x Crea un cuadrado m´ agico n×n Crea una matriz m×n de n´ umeros pseudo-aleatorios Crea un vector con el n´ umero de filas y columnas de la matriz A Crea una matriz m×n con elementos tomados de la matriz X
>> A = [3 1 4; -2 4 8] A = 3 1 4 -2 4 8
>> A == B ans = 0 1 1 0
>> B = [7 1 0; -2 5 8] B = 7 1 0 -2 5 8
>> A+B ans = 10 -4
0 1
2 9
4 16
>> 2*A ans = 6 -4
2 8
>> A.*B ans = 21 4
1 20
8 16
0 64
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Operaciones con matrices en Matlab Operaci´ on == + ,.* A’ zeros(m,n) ones(m,n) eye(n) diag(x) magic(n) rand(m,n) size(A) reshape(X,m,n)
Uso Igualdad de matrices (componente por componente) Suma y resta de matrices (componente por componente) Producto de matrices (componente por componente) La matriz transpuesta de A Crea una matriz m×n de ceros (0) Crea una matriz m×n de unos (1) Crea una matriz diagonal n×n con unos en la diagonal Crea una matriz diagonal con las entradas del vector x Crea un cuadrado m´ agico n×n Crea una matriz m×n de n´ umeros pseudo-aleatorios Crea un vector con el n´ umero de filas y columnas de la matriz A Crea una matriz m×n con elementos tomados de la matriz X
>> zeros(3,2) ans = 0 0 0 0 0 0
>> rand(3,2) ans = 0.8147 0.6324 0.9134
>> U = ones(2,3) U = 1 1 1 1 1 1
>> eye(2) ans = 1 0 0 1
0.1270 0.9058 0.0975
>> C = magic(3) C = 8 1 6 3 5 7 4 9 2 >> size(U) ans = 2 3
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Operaciones con matrices en Matlab Operaci´ on == + ,.* A’ zeros(m,n) ones(m,n) eye(n) diag(x) magic(n) rand(m,n) size(A) reshape(X,m,n)
Uso Igualdad de matrices (componente por componente) Suma y resta de matrices (componente por componente) Producto de matrices (componente por componente) La matriz transpuesta de A Crea una matriz m×n de ceros (0) Crea una matriz m×n de unos (1) Crea una matriz diagonal n×n con unos en la diagonal Crea una matriz diagonal con las entradas del vector x Crea un cuadrado m´ agico n×n Crea una matriz m×n de n´ umeros pseudo-aleatorios Crea un vector con el n´ umero de filas y columnas de la matriz A Crea una matriz m×n con elementos tomados de la matriz X
>> rand(3,2) - rand(3,2) ans = 0.1135 -0.3565 0.2018 0.1937 -0.0874 0.7628
>> X = diag(x) X = 3 0 0 -1 0 0
>> x = [3 -1 4] x = 3 -1 4
>> t = 1:6 t = 1 2 3
>> M = reshape(t,2,3) M = 1 3 5 2 4 6
0 0 4
>> M’ ans = 4
5
6
1 3 5
2 4 6
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Recorriendo una matriz A de tama˜ no m×n Recorriendo la fila i-´esima de A = [aij ]:
De la primera a la u ´ltima columna for j=1:n % proceso que involucra a A(i,j) end
Recorriendo la columna j-´esima de A = [aij ]:
De la primera a la u ´ltima fila for i=1:m % proceso que involucra a A(i,j) end
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Recorriendo una matriz A de tama˜ no m×n Recorrido de A = [aij ] por filas: for i=1:m for j=1:n % proceso que involucra a A(i,j) end end
Recorrido de A = [aij ] por columnas: for j=1:n for i=1:m % proceso que involucra a A(i,j) end end
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Ejemplo 4.1: cine Ejemplo 4.1 Escriba un programa que almacene en una matriz el n´ umero de personas que ingresan a una sala de cine durante cada uno de los d´ıas de la semana. La matriz debe constar de dos columnas, la primera para los d´ıas de la semana y la segunda para el n´ umero de personas, y siete filas para cada uno de los d´ıas de la semana. El programa debe calcular el promedio de personas que ingresan a la sala. Soluci´ on >> cine = zeros(7,2);
>> cine cine = 0 0 0 0 0 0 0
0 0 0 0 0 0 0
>> for i=1:7 cine(i,1) = i; end >> cine cine = 1 2 3 4 5 6 7
0 0 0 0 0 0 0
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Ejemplo 4.1: cine promediocine.m
% El programa calcula el promedio de personas % que ingresan a una sala de cine. cine = zeros(7,2); cine(:,1) = 1:7; for i=1:7 cine(i,2) = input(’Numero de personas que ingresan: ’); end prom = sum(cine(:,2))/7; fprintf(’El promedio de persona que ingresan a la semana es %g \n’, prom);
>> promediocine Numero de personas que Numero de personas que Numero de personas que Numero de personas que Numero de personas que Numero de personas que Numero de personas que El promedio de persona
ingresan: 20 ingresan: 15 ingresan: 35 ingresan: 42 ingresan: 74 ingresan: 80 ingresan: 95 que ingresan a la semana es 51.5714
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Ejemplo aut´omata celular “Todo deber´ıa hacerse tan simple como sea posible, pero no mas que eso”. (A. Einstein)
(a)
Hormiga (g´ enero Formica)
(b)
Colonia de hormigas
Figura: ¿principios de auto-organizaci´on en sistemas emergentes?
Aut´ omata celular: modelo matem´ atico de un sistema din´ amico que evoluciona en el tiempo y el espacio de manera discreta El aut´ omata celular est´ a formado por una “malla de celulas” y por “estados” y “reglas” que determinan c´ omo cambian sus estados en el tiempo Permiten modelar formaci´ on de patrones biol´ ogicos basados en interacciones entre c´elulas y el medio Fueron desarrollados por John von Neumann y Stanislaw Ulam como un modelo computacional para fen´ omenos de “auto-reproducci´ on”
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Ejemplo 4.2 (c´elulas vecinas) Considere una matriz A = [aij ] de tama˜ no n × n, tal que cada una de sus entradas es 1 o ´ 0. Cada entrada representa una c´elula que puede estar “viva” (aij = 1) o “muerta” (aij = 0). Cada c´elula tiene c´elulas vecinas adyacentes, horizontal, vertical y diagonalmente. Implemente una funci´ on llamada vecinos(A, i, j, n) que calcule el n´ umero de c´elulas vecinas “vivas” que tiene la c´elula ubicada en la posici´ on (i, j). Soluci´ on 0 1 0 1 0
1 0 1 0 1
0 1 1 0 1
0 0 0 1 0
1 0 0 0 1
0 0 1 0 0
0 0 0 1 0
1 0 0 0 1
1 0 0 0 1
A(i,j): c´elula en la celda (i,j) Las entradas de A son 1’s o 0’s: A(i, j) =
( 1 0
si (i, j) est´ a viva, si (i, j) est´ a muerta.
>> A = randi([0,1],5) A = 0 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 1 0 0 0
Vecinos de A(i, j) = ai,j ai−1,j−1 ai,j−1 ai+1,j−1
ai−1,j ai,j ai+1,j
ai−1,j+1 ai,j+1 ai+1,j+1
1 1 1 0 1
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Ejemplo 4.2: c´elulas vecinas ai−1,j−1 ai,j−1 ai+1,j−1 >> A A = 0 1 0 0 1
0 0 1 0 0
1 1 1 0 0
0 1 1 0 0
1 1 1 0 1
ai−1,j ai,j ai+1,j
ai−1,j+1 ai,j+1 ai+1,j+1
>> m = m + (A(i-1,j) == 1) m = 1
>> m = m + (A(i-1,j+1) == 1) m = 2
>> i=3; j=3; n=5; >> m=0;
>> m = m + (A(i,j-1) == 1) m = 3
>> m = m + (A(i-1,j-1) == 1) m = 0
>> m = m + (A(i,j+1) == 1) m = 4
Referencias
Vectores en Matlab
ai−1,j−1 ai,j−1 ai+1,j−1
Ejemplos con vectores
ai−1,j ai,j ai+1,j
Matrices en Matlab
ai−1,j+1 ai,j+1 ai+1,j+1
Ejemplos con matrices
function m = vecinos(A,i,j,n) % calcula el numero de vecinos % vivos de A(i,j)
% suma a lo largo de la fila i+1 if i1 m = m + (A(i+1,j-1) == 1); end m = m + (A(i+1,j) == 1); if j1 if j>1 m = m + (A(i-1,j-1) == 1); end m = m + (A(i-1,j) == 1); if j1 m = m + (A(i,j-1) == 1); end if j
>> A A = 0 1 0 0 1
0 0 1 0 0
1 1 1 0 0
>> vecinos(A,3,3,5) ans = 4 >> vecinos(A,3,2,5) ans = 3
0 1 1 0 0
1 1 1 0 1
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Ejemplo 4.3 (juego de vida) El juego de la vida es un ejemplo de un aut´ omata celular dise˜ nado por el matem´ atico brit´ anico John H. Conway en 1970, que se “juega” en una malla formada por celdas (“c´ elulas”), cada una de las cuales puede estar o viva (1) o muerta (0). 0 1 0 1 0
1 0 1 0 1
0 1 1 0 1
0 0 0 1 0
1 0 0 0 1
0 0 1 0 0
0 0 0 1 0
1 0 0 0 1
1 0 0 0 1
La malla de c´ elulas evoluciona en el tiempo y cada c´ elula interact´ ua con sus ocho c´ elulas vecinas que se encuentran adyacentes horizontal, vertical y diagonalmente.
En cada paso discreto del tiempo, las c´ elulas cambian su estado as´ı: Una c´ elula viva con menos de 2 vecinas vivas, muere por “soledad”. Una c´ elula viva con m´ as de 3 vecinas vivas, muere por “sobrepoblaci´ on”. Una c´ elula viva con 2 o 3 vecinas vivas, vive en la siguiente generaci´ on. Una c´ elula muerta con exactamente 3 vecinas vivas, vive en la siguiente. La configuraci´ on inicial constituye la primera generaci´ on del sistema; la segunda generaci´ on se crea aplicando simult´ aneamente las reglas arriba enunciadas, a cada una de las c´ elulas de la primera generaci´ on y as´ı sucesivamente. En teor´ıa, el juego de la vida se desarrola en una malla “infinita”; utilizaremos una malla finita en la que las c´ elulas que se encuentra en la primera columna (izquierda) no tienen vecinas a izquierda, las que se encuentran en la primera fila (arriba) no tienen vecinas sobre ellas, etc.
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Ejemplo 4.3: juego de vida Reglas juego de vida I
Una c´ elula viva con menos de 2 vecinas vivas, muere por “soledad”.
I
Una c´ elula viva con m´ as de 3 vecinas vivas, muere por “sobrepoblaci´ on”.
I
Una c´ elula viva con 2 o 3 vecinas vivas, vive en la siguiente generaci´ on.
I
Una c´ elula muerta con exactamente 3 vecinas vivas, vive en la siguiente.
>> n = 5;
>> if m == 2 || m == 3 A(i,j) = 1; else A(i,j) = 0; end
>> A = randi([0,1],n) >> spy(A)
A = 0 0 1 0 1
>> spy(A)
0 1 0 1 0
1 1 1 0 1
0 1 0 1 0
1 0 0 1 1
>> i=2; j=3; >> m = vecinos(A,i,j,n);
>> A(i,j) == 1 ans = 1
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Reglas juego de vida I
Una c´ elula viva con menos de 2 vecinas vivas, muere por “soledad”.
I
Una c´ elula viva con m´ as de 3 vecinas vivas, muere por “sobrepoblaci´ on”.
I
Una c´ elula viva con 2 o 3 vecinas vivas, vive en la siguiente generaci´ on.
I
Una c´ elula muerta con exactamente 3 vecinas vivas, vive en la siguiente.
vida.m
m = vecinos(A,i,j,n); if A(i,j)==1 % para celula (i,j) viva if m == 2 || m == 3 B(i,j) = 1; else B(i,j) = 0; end else % para celula (i,j) muerta if m==3 B(i,j) = 1; else B(i,j) = 0; end end
% Juego de vida de Conway clear all; % Inicializa la primera generacion n = 50; A = randi([0,1],n); seguir = 1; % Ciclo infinito, control-C para detener while seguir spy(A); % Imprime la matriz drawnow; % Actualiza imagen con nueva matriz B = A; % Nueva generacion
end end
for i=1:n for j=1:n
A = B; % La nueva generacion queda en A end
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
El juego de la vida
(a)
Inicio
(b)
Generaci´ on 1
(c)
Generaci´ on 2
(d)
Generaci´ on 3
(d)
Generaci´ on 3
Figura: arreglo cuadrado
(a)
Inicio
(b)
Generaci´ on 1
(c)
Generaci´ on 2
Figura: arreglo oscilante
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
El juego de la vida
(a)
(d)
Inicio
(b)
Generaci´ on 1
(c)
Generaci´ on 2
Generaci´ on 3
(e)
Generaci´ on 4
(f)
Generaci´ on 5
Figura: arreglo que se estabiliza
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
El juego de la vida
(a)
(d)
Inicio
(b)
Generaci´ on 1
(c)
Generaci´ on 2
Generaci´ on 3
(e)
Generaci´ on 4
(f)
Generaci´ on 5
Figura: arreglo peri´ odico
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Bibliograf´ıa I
S. Attaway Matlab: A Practical Introduction to Programming and Problem Solving Butterworth-Heinemann, 2011 L. Blanco Probabilidad Universidad Nacional de Colombia, Primera edici´ on, 2004. J.W. Brown, D.J. Murdoch A First Course in Statistical Programming With R Cambridge University Press, 1th edition , 2008 D. Burton Elementary Number Theory McGraw Hill Higher Education, 5th edition, 2002 O. Cair´ o Metodolog´ıa de la programaci´ on Segunda edici´ on. Alfaomega Grupo Editor, S.A., 2005
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Bibliograf´ıa II
M.A. Criado Programaci´ on en lenguajes estructurados Alfaomega Grupo Editor, S.A. de C.V. Primera Edici´ on, 2006 S. Ghahramani Fundamentals of Probability with Stochastic Processes Pearson Education, Inc., 2005 D.J. Hunter Essentials of Discrete Mathematics Jones & Bartlett Learning; 2 edition, 2010 H.P. Langtangen A Primer on Scientific Programming with Python Springer, 2011 O. Jones, R. Maillardet, A. Robinson Introduction to Scientific Programming and Simulation Using R Chapman and Hall/CRC; 1 edition, 2009
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Bibliograf´ıa III
J. Kiusalaas Numerical Methods in Engineering with Matlab Cambridge University Press, 2 edition, 2009 D.E. Knuth The Art of Computer Programming Volume 1, Fundamental Algorithms Addison Wesley Longman, 1997 S. Lipschutz Schaum’s Outline of Essential Computer Mathematics McGraw-Hill, 1th edition, 1982 Ch.F. Van Loan Introduction to Scientific Computing Prentice-Hall, Inc., 1997 C.B. Moler Numerical Computing with Matlab SIAM, 2004
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Bibliograf´ıa IV H.M. Mora Escobar Introducci´ on a C y a m´etodos num´ericos Universidad Nacional de Colombia (Sede Bogot´ a), 2004 A. Quarteroni, F. Salieri C´ alculo cient´ıfico con Matlab y Octave Springer-Verlag Italia, 2006 S.M. Ross Simulation Elsevier Inc., 2006 R. S´eroul Programming for Mathematicians Springer, 2000 E. Scheinerman C ++ for Mathematicians: An Introduction for Students and Professionals Taylor & Francis Group, LLC, 2006
Referencias
Vectores en Matlab
Ejemplos con vectores
Matrices en Matlab
Ejemplos con matrices
Referencias
Bibliograf´ıa V
A. Shen Algorithms and Programming Springer Undergraduate Texts in Mathematics and Technology, 2010 P. Tymann Schaum’s Outline of Principles of Computer Science McGraw-Hill, 1th edition, 2008