Programación ( ): Vectores y matrices en Matlab

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Programación ( ): Vectores y matrices en Matlab"

Transcripción

1 Programación ( ): Vectores y matrices en Matlab Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft Reproducción permitida bajo los términos de la licencia de documentación libre GNU.

2 Contenido 1 Vectores en Matlab 2 Ejemplos con vectores 3 Matrices en Matlab 4 Ejemplos con matrices 5 Referencias

3 Vectores en Matlab Arreglo: concepto en programación análogo a los conceptos matemáticos de vector, matriz y tensor Arreglo unidimensional (vector): estructura de datos formada por una colección finita de elementos homogéneos y ordenados que se referencian con un nombre común Homogéneos: 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 último elemento Los elementos de un arreglo se almacenan en posiciones consecutivas de memoria

4 Vectores en Matlab Comando Uso [ ] Genera el vector (,,, ) m:n Genera el vector (m,m+1,...,n) m:d:n Genera el vector (m,m+d,m+2d,...,n) x(k) Muestra la k-ésima entrada del vector x >> x = [1 2 3] x = >> x(3) = 2*x(1) - 3*x(3) x = >> y = [3, -2, 1] y = >> x(-2) Index exceeds matrix dimensions. >> x(3) 3 >> [x y] >> x(2) = -4 x = >> vacio = [] vacio = []

5 Vectores en Matlab Comando Uso [ ] Genera el vector (,,, ) m:n Genera el vector (m,m+1,...,n) m:d:n Genera el vector (m,m+d,m+2d,...,n) x(k) Muestra la k-ésima entrada del vector x >> numeros = [ ] numeros = >> a = 3:2:9 a = >> numeros(1:3) >> numeros(3:2:7) >> numeros(6:-2:2) >> b = 10:-1:3 b = >> a(:)

6 Operaciones con vectores en Matlab Operador Operación == Igualdad de vectores (componente por componente). Potencia de vectores (componente por componente).*,./ Producto y división de vectores (componente por componente) +, - Suma y resta de vectores rem(x,y) Módulo (residuo) entre componentes de vectores x e y >> u = 1:3; v = -1:2:3; >> u == v >> 2*u >> u+v >> u.*v >> u. v >> rem(v,u) >> u

7 Comparando vectores en Matlab Operador Operación = Diferente de (componente por componente) < Menor que (componente por componente) > Mayor que (componente por componente) <= Menor igual (componente por componente) >= Mayor igual (componente por componente) >> x = [1 2 3]; y = [3 2 1]; >> x = y >> x >= y >> x >= >> fib = [ ]; >> fib < >> fib(fib < 5) >> rem(fib,2) == >> fib(rem(fib,2) == 0) 2 8

8 Operadores lógicos con vectores en Matlab Operador Operación & y lógico para vectores o lógico para vectores negación >> x, y x = y = >> x & y >> x && y Operands to the and && operators must be convertible to logical scalar values. >> x y >> x >> t = 0; >> t * sin(1/t) == 0 0 >> (t == 0) (sin(1/t) == 0) 1 >> (t == 0) (sin(1/t) == 0) 1

9 Algunas funciones predefinidas en Matlab Función abs(x) sqrt(x) exp(x) log(x) sin(x) cos(x) tan(x) asin(x) acos(x) atan(x ) Uso Calcula el valor absoluto de los elementos de un vector x Calcula la raíz cuadrada de los elementos de un vector x Calcula la función exponencial de los elementos de un vector x Calcula el logaritmo natural de los elementos de un vector x Calcula el seno de los elementos de un vector x Calcula el coseno de los elementos de un vector x Calcula la tangente de los elementos de un vector x Calcula el seno inverso de los elementos de un vector x Calcula el coseno inverss de los elementos de un vector x Calcula la tangente inversa de los elementos de un vector x >> x = [ ]; >> alfa = [0 pi/3 pi/6 pi/2]; >> abs(x) >> sqrt(abs(x)) >> cos(alfa) >> cos(alfa)

10 Algunas funciones predefinidas en Matlab Función Uso length(x) Calcula el número de elementos de un vector x max(x) Calcula el mayor de un conjunto de datos x min(x) Calcula el menor de un conjunto de datos x sum(x) Calcula la suma de los elementos de un vector x cumsum(x) Calcula las sumas acumuladas de conjunto de datos x prod(x) Calcula el producto de los elementos de un vector x cumprod(x) Calcula los productos acumulados de conjunto de datos x mean(x) Calcula la media aritmética de un conjunto de datos x median(x) Calcula la mediana de un conjunto de datos x var(x) Calcula la varianza de un conjunto de datos x sort(x) Ordena de menor a mayor los elementos de un vector x any(x ) true (1) si algún elemento de x cumplple propiedad find(x) Devuelve las posiciones de los elementos true (1) de un vector x >> x = [ ]; >> max(x) 7 >> length(x) 6 >> sort(x)

11 Algunas funciones predefinidas en Matlab Función Uso length(x) Calcula el número de elementos de un vector x max(x) Calcula el mayor de un conjunto de datos x min(x) Calcula el menor de un conjunto de datos x sum(x) Calcula la suma de los elementos de un vector x cumsum(x) Calcula las sumas acumuladas de conjunto de datos x prod(x) Calcula el producto de los elementos de un vector x cumprod(x) Calcula los productos acumulados de conjunto de datos x mean(x) Calcula la media aritmética de un conjunto de datos x median(x) Calcula la mediana de un conjunto de datos x var(x) Calcula la varianza de un conjunto de datos x sort(x) Ordena de menor a mayor los elementos de un vector x any(x ) true (1) si algún elemento de x cumplple propiedad find(x) Devuelve las posiciones de los elementos true (1) de un vector x >> x = 1:10; >> x >> sum(x) 55 >> cumsum(x)

12 Algunas funciones predefinidas en Matlab Función Uso length(x) Calcula el número de elementos de un vector x max(x) Calcula el mayor de un conjunto de datos x min(x) Calcula el menor de un conjunto de datos x sum(x) Calcula la suma de los elementos de un vector x cumsum(x) Calcula las sumas acumuladas de conjunto de datos x prod(x) Calcula el producto de los elementos de un vector x cumprod(x) Calcula los productos acumulados de conjunto de datos x mean(x) Calcula la media aritmética de un conjunto de datos x median(x) Calcula la mediana de un conjunto de datos x var(x) Calcula la varianza de un conjunto de datos x sort(x) Ordena de menor a mayor los elementos de un vector x any(x ) true (1) si algún elemento de x cumplple propiedad find(x) Devuelve las posiciones de los elementos true (1) de un vector x >> x = [ ]; >> median(x) 7 >> mean(x) >> var(x)

13 Algunas funciones predefinidas en Matlab Función Uso length(x) Calcula el número de elementos de un vector x max(x) Calcula el mayor de un conjunto de datos x min(x) Calcula el menor de un conjunto de datos x sum(x) Calcula la suma de los elementos de un vector x cumsum(x) Calcula las sumas acumuladas de conjunto de datos x prod(x) Calcula el producto de los elementos de un vector x cumprod(x) Calcula los productos acumulados de conjunto de datos x mean(x) Calcula la media aritmética de un conjunto de datos x median(x) Calcula la mediana de un conjunto de datos x var(x) Calcula la varianza de un conjunto de datos x sort(x) Ordena de menor a mayor los elementos de un vector x any(x ) true (1) si algún elemento de x cumplple propiedad find(x) Devuelve las posiciones de los elementos true (1) de un vector x >> x >> x( x > median(x) )

14 Algunas funciones predefinidas en Matlab Función Uso length(x) Calcula el número de elementos de un vector x max(x) Calcula el mayor de un conjunto de datos x min(x) Calcula el menor de un conjunto de datos x sum(x) Calcula la suma de los elementos de un vector x cumsum(x) Calcula las sumas acumuladas de conjunto de datos x prod(x) Calcula el producto de los elementos de un vector x cumprod(x) Calcula los productos acumulados de conjunto de datos x mean(x) Calcula la media aritmética de un conjunto de datos x median(x) Calcula la mediana de un conjunto de datos x var(x) Calcula la varianza de un conjunto de datos x sort(x) Ordena de menor a mayor los elementos de un vector x any(x ) true (1) si algún elemento de x cumplple propiedad find(x) Devuelve las posiciones de los elementos true (1) de un vector x >> x >> find( rem(x,3) == 0) >> any(x == 8) 1 >> x( find( rem(x,3) == 0 ) )

15 Recorrio un arreglo El recorrido se realiza por medio de un índice El índice puede ir desde el primero hasta el último elemento Recorrido del primero al último for i=1:n % proceso que involucra a x[i] El índice puede ir desde el último hasta el primer elemento Recorrido del último al primero for i=n:-1:1 % proceso que involucra a x[i]

16 Ejercicios Ejercicio (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 (Notas promedio) Modifique el programa del ejercicio anterior (2.1) para que muestre por pantalla el promedio de notas del curso.

17 Ejemplo 2.1: Fibonacci con vectores Ejemplo Realice un programa (utilizando vectores) que calcule los n primeros términos de la sución de Fibonacci Solución 1, 1, 2, 3, 5, 8, 13, 21, 34,... n: almacena el entero hasta donde se realiza la suma El término n-ésimo de la sucesión para n = 2, 3,... está dado por: f n = f n 1 + f n 2 con f 0 = f 1 = 1 fib: vector que almacenará los términos de la sucesión >> fib = [1 1]; >> i = 3; >> fib(i) = fib(i-1) + fib(i-2); >> fib fib = >> i = i+1; >> fib(i) = fib(i-1) + fib(i-2); >> i = i+1; >> fib(i) = fib(i-1) + fib(i-2); >> fib fib =

18 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); >> fibofun(10) >> z = fibofun(1000); >> z(1000)/z(999)

19 Funciones vectorizadas Comando Uso Evalúa funcion en cada elemento del vector x >> x = 1: >> arrayfun(@esprimo,x) Permiten aumentar la rapidez de ejecución de una función Se utilizan los operadores.*,./ y. en la definición de una función 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; >> x = 1:5; >> funvec(x)

20 Ejemplo (densidad de los números primos) Considere la función π(x) = número de primos x para cualquier número real x. Utilice una versión vectorizada de la función esprimo desarrollada en clase para hallar π(x) y verifique numéricamente que para valores grandes de x, π(x) x/ ln x, es decir, lím x π(x) x/ ln x = 1 Solución >> n = 10; >> vec = 2:n vec = >> primos = arrayfun(@esprimo,vec); >> primos primos = >> sum(primos) 4 >> sum(primos)/(n/log(n)) >> n = 1000; >> vec = 2:n; >> primos = arrayfun(@esprimo,vec); >> sum(primos)/(n/log(n))

21 Ejemplo 2.2: densidad de los números primos lím n π(n) n/ ln n = 1 >> n = 10; >> vec = 2:n; >> primos = arrayfun(@esprimo,vec); >> n = 1000; >> vec = 2:n; >> primos = arrayfun(@esprimo,vec); >> primos primos = >> vec vec = >> x = vec; >> y = cumsum(primos)/vec*log(vec); >> plot(x,y) >> grid on >> cumsum(primos) vec = >> cumsum(primos)/vec*log(vec)

22 Ejemplo 2.3: Criba de Eratóstenes Ejemplo La Criba de Eratóstenes es un método sistemático para seleccionar (cribar) todos los números primos menores que un entero n > 1. Primero se listan todos los números naturales desde 2 hasta n y de esa lista se eliminan los números que no son primos de la siguiente manera: cuando se encuentra un número que no ha sido eliminado de la lista, dicho número se declara primo y se procede a eliminar todos sus múltiplos. Este proceso se repite mientras que el cuadrado del mayor número declarado como primo no exceda a n. Implemente una función que genere un vector con todos los primos menores que n por medio de la Criba de Eratóstenes

23 : múltiplos de 2 : múltiplos de 3 : múltiplos de 5 : múltiplos de 7 >> n = 10; i = 2; >> criba = 2:n; primos = []; >> criba criba = >> any(criba == i) 1 >> primos = [primos i] primos = 2 >> rem(criba,i) = >> criba( rem(criba,i) = 0 ) >> criba = [i criba( rem(criba,i) = 0)] criba = eratostenes.m function primos = eratostenes(n) % Devuelve los primos menores o iguales que n criba = 2:n; primos = []; for i=1:n if any(criba == i) primos = [primos i]; criba = [i criba( rem(criba,i) = 0)]; >> eratostenes(30)

24 Ejemplo (función logística) Para cada r [0, 4], la función f r(x) = rx(1 x), x [0, 1] se denomina función logística. Para cada x 1 [0, 1], la sucesión {x n} n=1 definida por x n+1 = f(x n) se denomina sistema dinámico discreto definido por f r. Si x n representa el tamaño de una población en el año n, x n+1 representa el tamaño de la población en el año n + 1. Implemente una función que tenga como argumentos a x 1, r y n y devuelva el vector {x 1,..., x n}. Grafique cómo evoluciona el sistema para valores distintos de x 1, r y n. Solución >> x = 0.2; >> r = 1.5; >> n = 8; >> for i=1:7 y(i+1) = r*y(i)*(1-y(i)); >> y = zeros(1,n); >> y(1) = x; >> y y = >> y y =

25 Ejemplo 2.4: función 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; for i=1:n-1 y(i+1) = r*y(i)*(1-y(i)); >> y = logistica(0.2,2.9,100); >> plot(y, o ) >> grid on >> y = logistica(0.4,1.5,100); >> plot(y, o ) >> grid on >> y = logistica(0.5,3.5,100); >> plot(y, o ) >> grid on

26 Ejemplo 2.5: Torres de Hanói Ejemplo La Torres de Hanói es un rompecabezas o juego matemático inventado en 1883 por el matemático francés Édouard Lucas, que consiste de un conjunto de discos de distintos tamaños, enumerados de manera creciente y que se apilan insertándose de mayor a menor en una de tres estacas disponibles. El objetivo del juego es mover el conjunto completo de discos a otra estaca, movio cada disco a la vez de manera tal que un disco de mayor tamaño nunca esté sobre un disco de tamaño menor. (a) Inicio (b) Fin Reglas Torres de Hanói Sólo se puede mover un disco a la vez. Un disco de mayor tamaño no puede estar sobre uno de menor tamaño. Sólo se puede desplazar el disco que se encuentre arriba en cada estaca.

27 Ejemplo 2.5: Torres de Hanói Reglas Torres de Hanói Sólo se puede mover un disco a la vez. Un disco de mayor tamaño no puede estar sobre uno de menor tamaño. Sólo se puede desplazar el disco que se encuentre arriba en cada estaca. (c) Inicio (d) Paso 1 Figura: Solución con n = 1 discos, número de pasos: 2 n 1 = 1 (a) Inicio (b) Paso 1 (c) Paso 2 (d) Paso 3 Figura: Solución con n = 2 discos, número de pasos: 2 n 1 = 3

28 Ejemplo 2.5: Torres de Hanói Reglas Torres de Hanói Sólo se puede mover un disco a la vez. Un disco de mayor tamaño no puede estar sobre uno de menor tamaño. Sólo 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ón con n = 3 discos, número de pasos: 2 n 1 = 7

29 Ejemplo 2.5: Torres de Hanói (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 (ñ) Paso 14 (o) Paso 15 Figura: Solución con n = 4 discos, número de pasos: 2 n 1 = 15

30 Ejemplo 2.5: Torres de Hanói Algoritmo Torres de Hanói Si se tiene n = 1 disco, mover el disco de la estaca (1) a la (3). Si se tienen n > 1 discos, 1 mover los primeros n 1 discos de la estaca (1) a la (2), 2 mover el disco restante de la estaca (1) a la (3), 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);

31 Ejemplo 2.5: Torres de Hanói hanoi.m (a) Inicio (b) Paso 1 (c) Paso 2 (d) Paso 3 Figura: Solución con n = 2 discos, número de pasos: 2 n 1 = 3 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); >> 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

32 Ejemplo 2.5: Torres de Hanói (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ón con n = 3 discos, número de pasos: 2 n 1 = 7 >> hanoi(3,1,3) Mover disco 1 desde la estaca 1 hasta la estaca 3 Mover disco 2 desde la estaca 1 hasta la estaca 2 Mover disco 1 desde la estaca 3 hasta la estaca 2 Mover disco 3 desde la estaca 1 hasta la estaca 3 Mover disco 1 desde la estaca 2 hasta la estaca 1 Mover disco 2 desde la estaca 2 hasta la estaca 3 Mover disco 1 desde la estaca 1 hasta la estaca 3

33 Matrices en Matlab Arreglo bidimensional: concepto en programación análogo al concepto matemático de matriz La definición 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ón finita de elementos homogéneos, ordenados cada uno de ellos en dos dimensiones y referenciados con un nombre común 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ón del elemento

34 Representación gráfica 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)

35 Declaración de arreglos Declaración de una matriz: nombre arreglo(filas,columnas] nombre arreglo: identificador que representa la colección de elementos filas: constante entera positiva que representa la cantidad de filas columnas: constante entera positiva que representa la cantidad de columnas

36 Matrices en Matlab Comando [fila 1;... ;fila m] A(i,j) A(i,:) A(:,j) A(k:l,:) A(:,p:q) A(k:l,p:q) Uso Crea una matriz con m filas Muestra la entrada de la fila i, columna j de la matriz A Muestra la fila i de la matriz A Muestra la columna j de la matriz A Muestra las entradas en todas las columnas entre las filas k y l 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 = [1 2 3; 4 5 6] A = >> A(2,1) 4 >> A(1,:) >> A(1,3) = -2; A(2,3) = 0; >> A = [1 2 3; 4 5 6] A = >> A(:,3) A = -2 0

37 Matrices en Matlab Comando [fila 1;... ;fila m] A(i,j) A(i,:) A(:,j) A(k:l,:) A(:,p:q) A(k:l,p:q) Uso Crea una matriz con m filas Muestra la entrada de la fila i, columna j de la matriz A Muestra la fila i de la matriz A Muestra la columna j de la matriz A Muestra las entradas en todas las columnas entre las filas k y l 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 >> B = [ ; ; ; ] B = >> B(:,2:4) >> B(2:3,2:4) >> B(2:4,1:3)

38 Operaciones con matrices en Matlab Operación Uso == Igualdad de matrices (componente por componente) +,- Suma y resta de matrices (componente por componente).* Producto de matrices (componente por componente) A La matriz transpuesta de A zeros(m,n) Crea una matriz m n de ceros (0) ones(m,n) Crea una matriz m n de unos (1) eye(n) Crea una matriz diagonal n n con unos en la diagonal diag(x) Crea una matriz diagonal con las entradas del vector x magic(n) Crea un cuadrado mágico n n rand(m,n) Crea una matriz m n de números pseudo-aleatorios size(a) Crea un vector con el número de filas y columnas de la matriz A reshape(x,m,n) Crea una matriz m n con elementos tomados de la matriz X >> A = [3 1 4; ] A = >> A == B >> 2*A >> B = [7 1 0; ] B = >> A+B >> A.*B

39 Operaciones con matrices en Matlab Operación Uso == Igualdad de matrices (componente por componente) +,- Suma y resta de matrices (componente por componente).* Producto de matrices (componente por componente) A La matriz transpuesta de A zeros(m,n) Crea una matriz m n de ceros (0) ones(m,n) Crea una matriz m n de unos (1) eye(n) Crea una matriz diagonal n n con unos en la diagonal diag(x) Crea una matriz diagonal con las entradas del vector x magic(n) Crea un cuadrado mágico n n rand(m,n) Crea una matriz m n de números pseudo-aleatorios size(a) Crea un vector con el número de filas y columnas de la matriz A reshape(x,m,n) Crea una matriz m n con elementos tomados de la matriz X >> zeros(3,2) >> U = ones(2,3) U = >> rand(3,2) >> eye(2) >> C = magic(3) C = >> size(u) 2 3

40 Operaciones con matrices en Matlab Operación Uso == Igualdad de matrices (componente por componente) +,- Suma y resta de matrices (componente por componente).* Producto de matrices (componente por componente) A La matriz transpuesta de A zeros(m,n) Crea una matriz m n de ceros (0) ones(m,n) Crea una matriz m n de unos (1) eye(n) Crea una matriz diagonal n n con unos en la diagonal diag(x) Crea una matriz diagonal con las entradas del vector x magic(n) Crea un cuadrado mágico n n rand(m,n) Crea una matriz m n de números pseudo-aleatorios size(a) Crea un vector con el número de filas y columnas de la matriz A reshape(x,m,n) Crea una matriz m n con elementos tomados de la matriz X >> rand(3,2) - rand(3,2) >> x = [3-1 4] x = >> X = diag(x) X = >> t = 1:6 t = >> M = reshape(t,2,3) M = >> M

41 Recorrio una matriz A de tamaño m n Recorrio la fila i-ésima de A = [a ij]: De la primera a la última columna for j=1:n % proceso que involucra a A(i,j) Recorrio la columna j-ésima de A = [a ij]: De la primera a la última fila for i=1:m % proceso que involucra a A(i,j)

42 Recorrio una matriz A de tamaño m n Recorrido de A = [a ij] por filas: for i=1:m for j=1:n % proceso que involucra a A(i,j) Recorrido de A = [a ij] por columnas: for j=1:n for i=1:m % proceso que involucra a A(i,j)

43 Ejemplo 4.1: cine Ejemplo Escriba un programa que almacene en una matriz el número 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úmero 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ón >> cine = zeros(7,2); >> cine cine = >> for i=1:7 cine(i,1) = i; >> cine cine =

44 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: ); prom = sum(cine(:,2))/7; fprintf( El promedio de persona que ingresan a la semana es %g \n, prom); >> promediocine Numero de personas que ingresan: 20 Numero de personas que ingresan: 15 Numero de personas que ingresan: 35 Numero de personas que ingresan: 42 Numero de personas que ingresan: 74 Numero de personas que ingresan: 80 Numero de personas que ingresan: 95 El promedio de persona que ingresan a la semana es

45 Ejemplo autómata celular Todo debería hacerse tan simple como sea posible, pero no mas que eso. (A. Einstein) (a) Hormiga (género Formica) (b) Colonia de hormigas Figura: principios de auto-organización en sistemas emergentes? Autómata celular: modelo matemático de un sistema dinámico que evoluciona en el tiempo y el espacio de manera discreta El autómata celular está formado por una malla de celulas y por estados y reglas que determinan cómo cambian sus estados en el tiempo Permiten modelar formación de patrones biológicos basados en interacciones entre células y el medio Fueron desarrollados por John von Neumann y Stanislaw Ulam como un modelo computacional para fenómenos de auto-reproducción

46 Ejemplo células vecinas a i 1,j 1 a i 1,j a i 1,j+1 a i,j 1 a i,j a i,j+1 a i+1,j 1 a i+1,j a i+1,j+1 >> A A = >> 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

47 vecinos.m a i 1,j 1 a i 1,j a i 1,j+1 a i,j 1 a i,j a i,j+1 a i+1,j 1 a i+1,j a i+1,j+1 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 i<n if j>1 m = m + (A(i+1,j-1) == 1); m = m + (A(i+1,j) == 1); if j<n m = m + (A(i+1,j+1) == 1); m = 0; % suma a lo largo de la fila i-1 if i>1 if j>1 m = m + (A(i-1,j-1) == 1); m = m + (A(i-1,j) == 1); if j<n m = m + (A(i-1,j+1) == 1); % suma a lo largo de la fila i if j>1 m = m + (A(i,j-1) == 1); if j<n m = m + (A(i,j+1) == 1); % continua en la columna derecha --> >> A A = >> vecinos(a,3,3,5) 4 >> vecinos(a,3,2,5) 3

48 El juego de la vida Juego de la vida: autómata celular creado por el matemático británico John H. Conway (publicado en octubre de 1970 en Scientific American) En el juego de la vida las células evolucionan en pasos discretos de tiempo denominados generaciones Cada célula evoluciona interactuando con sus ocho células vecinas más próximas horizontal, vertical y diagonalmente En cada generación las células cambian su estado ( evolucionan ) así: Nacimiento: una célula previamente muerta se reemplaza por una viva, si exactamente 3 de sus vecinas están muertas. Muerte: una célula previamente viva se reemplaza por una muerta si: tiene menos de 2 vecinas vivas (muerte por soledad ) o, tiene más de 3 vecinas vivas (muerte por sobrepoblación ). Supervivencia: una célula viva permanece viva si tiene 2 o 3 vecinas vivas. El juego de la vida se desarrola en una malla infinita ; utilizaremos una malla finita (no todas las células trán 8 células vecinas)

49 El juego de la vida Reglas juego de la vida Una célula muerta con exactamente 3 vecinas vivas se reemplaza por una viva Una célula viva con menos de 2 vecinas vivas, muere por soledad Una célula viva con más de 3 vecinas vivas, muere por sobrepoblación Una célula viva con 2 o 3 vecinas vivas, vive en la siguiente generación >> n = 5; >> A = randi([0 1],n) A = >> i=2; j=3; >> m = vecinos(a,i,j,n); >> if m == 2 m == 3 A(i,j) = 1; else A(i,j) = 0; >> spy(a) >> spy(a) >> A(i,j) == 1 1

50 El juego de la vida Reglas juego de la vida Una célula muerta con exactamente 3 vecinas vivas se reemplaza por una viva Una célula viva con menos de 2 vecinas vivas, muere por soledad Una célula viva con más de 3 vecinas vivas, muere por sobrepoblación Una célula viva con 2 o 3 vecinas vivas, vive en la siguiente generación vida.m % Juego de la 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 for i=1:n for j=1:n 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; else % para celula (i,j) muerta if m==3 B(i,j) = 1; else B(i,j) = 0; A = B; % La nueva generacion queda en A

51 El juego de la vida (a) Inicio (b) Generación 1 (c) Generación 2 (d) Generación 3 Figura: arreglo cuadrado (a) Inicio (b) Generación 1 (c) Generación 2 (d) Generación 3 Figura: arreglo oscilante

52 El juego de la vida (a) Inicio (b) Generación 1 (c) Generación 2 (d) Generación 3 (e) Generación 4 (f) Generación 5 Figura: arreglo que se estabiliza

53 El juego de la vida (a) Inicio (b) Generación 1 (c) Generación 2 (d) Generación 3 (e) Generación 4 (f) Generación 5 Figura: arreglo periódico

54 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ón, 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ó Metodología de la programación Segunda edición. Alfaomega Grupo Editor, S.A., 2005

55 Bibliografía II M.A. Criado Programación en lenguajes estructurados Alfaomega Grupo Editor, S.A. de C.V. Primera Edición, 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

56 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

57 Bibliografía IV H.M. Mora Escobar Introducción a C y a métodos numéricos Universidad Nacional de Colombia (Sede Bogotá), 2004 A. Quarteroni, F. Salieri Cálculo científico con Matlab y Octave Springer-Verlag Italia, 2006 S.M. Ross Simulation Elsevier Inc., 2006 R. Séroul Programming for Mathematicians Springer, 2000 E. Scheinerman C ++ for Mathematicians: An Introduction for Students and Professionals Taylor & Francis Group, LLC, 2006

58 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 J. Villate Introdução aos Sistemas Dinâmicos: uma abordagem pratica com Maxima Copyright 2005, 2006, 2007.

Introducción a los Computadores (CNM-130) Vectores y matrices en Matlab

Introducción a los Computadores (CNM-130) Vectores y matrices en Matlab Introducción a los Computadores (CNM-130) Vectores y matrices en Matlab Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 2013.

Más detalles

Introducción a los Computadores (CNM-130) Estructuras selectivas en Matlab

Introducción a los Computadores (CNM-130) Estructuras selectivas en Matlab Introducción a los Computadores (CNM-130) Estructuras selectivas en Matlab Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 2013.

Más detalles

Introducción a los Computadores (CNM-130) Estructuras algorítmicas selectivas

Introducción a los Computadores (CNM-130) Estructuras algorítmicas selectivas Introducción a los Computadores (CNM-130) Estructuras algorítmicas selectivas Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft

Más detalles

Programación ( ): Estructuras algorítmicas selectivas

Programación ( ): Estructuras algorítmicas selectivas Programación (314 202): Estructuras algorítmicas selectivas Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 2013. Reproducción

Más detalles

Curso de Introducción a R Módulo 4: simulaciones estocásticas

Curso de Introducción a R Módulo 4: simulaciones estocásticas Curso de Introducción a R Módulo 4: simulaciones estocásticas Alejandro Piedrahita H. Seminario de Análisis Estocástico Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de

Más detalles

Introducción a los Computadores Arreglos en C

Introducción a los Computadores Arreglos en C Introducción a los Computadores Arreglos en C Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 2013. Reproducción permitida bajo

Más detalles

Introducción a los Computadores Funciones y recursividad en C

Introducción a los Computadores Funciones y recursividad en C Introducción a los Computadores Funciones y recursividad en C Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 2013. Reproducción

Más detalles

Introducción a los Computadores (CNM 130): Estructuras repetitivas en Matlab

Introducción a los Computadores (CNM 130): Estructuras repetitivas en Matlab Introducción a los Computadores (CNM 3): Estructuras repetitivas en Matlab Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 23.

Más detalles

Introducción a los Computadores (CNM-130) Algoritmos computacionales

Introducción a los Computadores (CNM-130) Algoritmos computacionales Introducción a los Computadores (CNM-130) Algoritmos computacionales Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 2013. Reproducción

Más detalles

Introducción a los Computadores (CNM-130) Estructuras algorítmicas repetitivas

Introducción a los Computadores (CNM-130) Estructuras algorítmicas repetitivas Introducción a los Computadores (CNM-130) Estructuras algorítmicas repetitivas Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft

Más detalles

Introducción a los Computadores (CNM-130) Álgebra de matrices en Octave

Introducción a los Computadores (CNM-130) Álgebra de matrices en Octave Introducción a los Computadores (CNM-130) Álgebra de matrices en Octave Alejandro Piedrahita H Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 2013 Reproducción

Más detalles

Introducción a los Computadores (CNM-130) Elementos de programación

Introducción a los Computadores (CNM-130) Elementos de programación Introducción a los Computadores (CNM-130) Elementos de programación Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 2012. Reproducción

Más detalles

Introducción a los Computadores (CNM-130) Introducción a Matlab

Introducción a los Computadores (CNM-130) Introducción a Matlab Introducción a los Computadores (CNM-130) Introducción a Matlab Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 2013. Reproducción

Más detalles

Introducción a los Computadores Estructuras de control selectivas en C

Introducción a los Computadores Estructuras de control selectivas en C Introducción a los Computadores Estructuras de control selectivas en C Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 2013.

Más detalles

Universidad de Antioquia Facultad de Ciencias Exactas y Naturales Instituto de Matemáticas Taller 6 - Introducción a los computadores

Universidad de Antioquia Facultad de Ciencias Exactas y Naturales Instituto de Matemáticas Taller 6 - Introducción a los computadores Universidad de Antioquia Facultad de Ciencias Exactas y Naturales Instituto de Matemáticas Taller 6 - Introducción a los computadores Alejandro Piedrahita H Última actualización: 8 de junio de 204 Nota:

Más detalles

Programación con Octave/Octave-UPM (I)

Programación con Octave/Octave-UPM (I) Programación con Octave/Octave-UPM (I) Mario Bermejo CLUB DE INFORMÁTICA CAMINOS 11 y 13 marzo 2015 Índice 1 Características Octave/Matlab 2 Interfaz gráfica y consola de comandos 3 Tipos y estructuras

Más detalles

Práctica 0: Introducción a Matlab. Matlab es un acrónimo: MATrix LABoratory

Práctica 0: Introducción a Matlab. Matlab es un acrónimo: MATrix LABoratory Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix LABoratory Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix LABoratory La ventana de Matlab muestra un escritorio dividido

Más detalles

Herramientas computacionales para la matemática MATLAB: Arreglos

Herramientas computacionales para la matemática MATLAB: Arreglos Herramientas computacionales para la matemática MATLAB: Arreglos Verónica Borja Macías Marzo 2013 1 Una matriz es un arreglo bidimensional, es una sucesión de números distribuidos en filas y columnas.

Más detalles

Oriol R oca. M a t L a b FUNCIONES EN MATLAB

Oriol R oca. M a t L a b FUNCIONES EN MATLAB FUNCIONES EN MATLAB Funciones Son ficheros con una estructura especial, que definen funciones análogas a las de MATLAB. Con carácter general, una función recibe unos DATOS DE ENTRADA, ejecuta unas ÓRDENES

Más detalles

Herramientas computacionales para la matemática MATLAB: Análisis de datos.

Herramientas computacionales para la matemática MATLAB: Análisis de datos. Herramientas computacionales para la matemática MATLAB:. Verónica Borja Macías Junio 2012 1 Analizar datos estadísticos en MATLAB es sencillo. Máximo y mínimo max(x) si x es vector encuentra el valor más

Más detalles

Formatos y Operadores

Formatos y Operadores Formatos y Operadores Formatos numéricos format short long hex bank short e short g long e long g rational coma fija con 4 decimales (defecto) coma fija con 15 decimales cifras hexadecimales números con

Más detalles

Introducción a Matlab. Ing. Laura López López

Introducción a Matlab. Ing. Laura López López Introducción a Matlab Ing. Laura López López Qué es Matlab? MatLab significa MATrixLABoratory MATLAB es un lenguaje de alto nivel para realizar cálculos científico-técnicos. Integra las herramientas de

Más detalles

Introducción a los Computadores Estructuras de control repetitivas en C

Introducción a los Computadores Estructuras de control repetitivas en C Introducción a los Computadores Estructuras de control repetitivas en C Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 2013.

Más detalles

Fundamentos de Informática Parte II Análisis y Visualización de Datos mediante Matlab

Fundamentos de Informática Parte II Análisis y Visualización de Datos mediante Matlab Fundamentos de Informática Parte II Análisis y Visualización de Datos mediante Matlab Titulación: Ingeniería Técnica Industrial Química Industrial Profesor: José Luis Esteban Escuela Superior de Ciencias

Más detalles

Introducción a los Computadores Estructuras de control selectivas en C

Introducción a los Computadores Estructuras de control selectivas en C Introducción a los Computadores Estructuras de control selectivas en C CNM-130 Departamento de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft «2009. Reproducción

Más detalles

INFORMÁTICA MATLAB GUÍA 3 Operaciones con Matrices

INFORMÁTICA MATLAB GUÍA 3 Operaciones con Matrices 1. ARREGLOS BIDIMENSIONALES (MATRICES) A las matrices también se les conoce como arreglos bidimensionales, y son una colección de números distribuidos en filas y columnas: Usos de las matrices: Electricidad

Más detalles

MATLAB tiene un gran número de funciones incorporadas. Algunas son funciones intrínsecas, esto es, funciones incorporadas en el propio código

MATLAB tiene un gran número de funciones incorporadas. Algunas son funciones intrínsecas, esto es, funciones incorporadas en el propio código MATLAB tiene un gran número de funciones incorporadas. Algunas son funciones intrínsecas, esto es, funciones incorporadas en el propio código ejecutable del programa. Estas funciones son particularmente

Más detalles

3.1 Funciones de biblioteca

3.1 Funciones de biblioteca 3.1 Funciones de biblioteca Concepto de función. Parámetros o argumentos Una función es un módulo independiente programado para realizar una tarea específica. Internamente está constituida por un conjunto

Más detalles

Introducción a Matlab y Simulink

Introducción a Matlab y Simulink Universidad de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica Introducción a Matlab y Simulink Preparado por Diego Sepúlveda J. Version.0, 6 de agosto de 2002 Índice

Más detalles

Cursada Segundo Cuatrimestre 2012 Guía de Trabajos Prácticos Nro. 1

Cursada Segundo Cuatrimestre 2012 Guía de Trabajos Prácticos Nro. 1 Temas: Ambiente de trabajo MATLAB. Creación de matrices y vectores. Matrices pre-definidas. Operador dos puntos. Operaciones con matrices y vectores. Direccionamiento de elementos de matrices y vectores.

Más detalles

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos.

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos. Universidad Rafael Urdaneta Escuela de Ingeniería de Computación Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos. Asignación

Más detalles

Cálculo Numérico (521230)

Cálculo Numérico (521230) UNIVERSIDAD DE CONCEPCION FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS DEPARTAMENTO DE INGENIERIA MATEMATICA Cálculo Numérico (521230) Laboratorio 1 Introducción al Matlab I Matlab (www.mathworks.com) es

Más detalles

Pensando en Modelos. H. R. Alvarez A., Ph. D.

Pensando en Modelos. H. R. Alvarez A., Ph. D. Pensando en Modelos Modelos y la toma de decisiones La idea no es nueva: mapas, diagramas de flujo, gráficas y ecuaciones básicas. http://negocios.maimonides.edu/%c2%a1a-tomar-mejoresdecisiones-gerenciales/

Más detalles

Ecuaciones en Derivadas Parciales y Análisis Numérico. Prácticas.

Ecuaciones en Derivadas Parciales y Análisis Numérico. Prácticas. Ecuaciones en Derivadas Parciales y Análisis Numérico Prácticas. Capítulo 1. Matrices en Matlab 1.1 El entorno de trabajo El programa Matlab ofrece un entorno interactivo donde podemos ejecutar comandos

Más detalles

Curso de introducción a R Módulo 2: nociones de programación

Curso de introducción a R Módulo 2: nociones de programación Curso de introducción a R Módulo 2: nociones de programación Alejandro Piedrahita H. Seminario de Análisis Estocástico Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia

Más detalles

Matemática Superior Aplicada

Matemática Superior Aplicada Matemática Superior Aplicada Prof.: Dr. Alejandro S. M. Santa Cruz J.T.P.: Dr. Juan Ignacio Manassaldi Aux. 2 da : Sra. Amalia Rueda Aux. 2da: Sr. Alejandro Jesús Ladreyt Wiki Scilab es un software para

Más detalles

Introducción a los Computadores (CNM-130) Estructuras de control repetitivas en FreeMat

Introducción a los Computadores (CNM-130) Estructuras de control repetitivas en FreeMat Introducción a los Computadores (CNM-130) Estructuras de control repetitivas en FreeMat Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia

Más detalles

INSTITUTO TECNOLÓGICO

INSTITUTO TECNOLÓGICO INSTITUTO TECNOLÓGICO DE NUEVO LAREDO Con la Ciencia por la Humanidad Introducción a la Ingeniería en Sistemas Computacionales y al Diseño de Algoritmos Curso propedéutico Instructor: Bruno López Takeyas

Más detalles

Introducción a la programación. Oscar Alejandro González Bustamante. José Víctor Martínez Ramos.

Introducción a la programación. Oscar Alejandro González Bustamante. José Víctor Martínez Ramos. Introducción a la programación Oscar Alejandro González Bustamante. José Víctor Martínez Ramos. Tema 2-1 ELEMENTOS BÁSICOS DE LA PROGRAMACIÓN ESTRUCTURADA Identificará los operadores y operandos. Reconocerá

Más detalles

2.2 Operaciones con matrices. Funciones específicas.

2.2 Operaciones con matrices. Funciones específicas. 2.2 Operaciones con matrices. Funciones específicas. Operaciones con matrices mediante operadores M puede operar con matrices (1) por medio de operadores y por medio de funciones. Sean A y B dos matrices

Más detalles

Rancagua, Agosto 2009

Rancagua, Agosto 2009 cvalle@inf.utfsm.cl Departamento de Informática - Universidad Técnica Federico Santa María Rancagua, Agosto 2009 1 / 28 Temario 1 2 3 4 2 / 28 Temario 1 2 3 4 3 / 28 Los nombre y arreglos son equivalentes.

Más detalles

UA.- Estructura de Datos. Unidad de Competencia I Tema 1.2 Arreglos: Vectores, matrices, multidimensionales

UA.- Estructura de Datos. Unidad de Competencia I Tema 1.2 Arreglos: Vectores, matrices, multidimensionales UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO Facultad de Contaduría y Administración Licenciatura en Informática Administrativa UA.- Estructura de Datos Unidad de Competencia I Tema 1.2 Arreglos: Vectores,

Más detalles

Transponer vectores Es cambiar los vectores fila por columna y se hacen con una comilla al final de la variable del vector. P.E

Transponer vectores Es cambiar los vectores fila por columna y se hacen con una comilla al final de la variable del vector. P.E ARREGLOS UNIDIMENSIONALES (VECTORES) Es una estructura que se utiliza para almacenar y manipular gran cantidad de datos y se encuentran dispuestos en filas y columnas, por lo general se denotan con letras

Más detalles

Inducción a MATLAB. Álgebra Lineal. Escuela de Matemáticas. Facultad de Ciencias Universidad Nacional de Colombia Sede Medellín

Inducción a MATLAB. Álgebra Lineal. Escuela de Matemáticas. Facultad de Ciencias Universidad Nacional de Colombia Sede Medellín Inducción a MATLAB Álgebra Lineal Escuela de Matemáticas Facultad de Ciencias Universidad Nacional de Colombia Sede Medellín Inducción a MATLAB (Álgebra Lineal) Escuela de Matemáticas Universidad Nacional

Más detalles

CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS

CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS Capítulo 3 Estructuras de datos estáticas 1/37 1. INTRODUCCIÓN Las estructuras de datos se utilizan, generalmente, para procesar una colección de valores que están

Más detalles

Bibliografía básica. Rosen, K. H. (2004). Matemática discreta y sus aplicaciones. Madrid: McGraw-Hill. ISBN:

Bibliografía básica. Rosen, K. H. (2004). Matemática discreta y sus aplicaciones. Madrid: McGraw-Hill. ISBN: básica La bibliografía básica es imprescindible para el estudio de la asignatura. Cuando se indica que no está disponible en el aula virtual, tendrás que obtenerla por otros medios: librería UNIR, biblioteca

Más detalles

2. Práctica. 2.1.Introducción. 2.2.Funcionamiento de MATLAB. 2.3.Programas modulizados

2. Práctica. 2.1.Introducción. 2.2.Funcionamiento de MATLAB. 2.3.Programas modulizados 2. Práctica 2.1.Introducción En esta práctica se prete dar una introducción al manejo del programa MATLAB. Éste es un programa de cálculo numérico que sirve en sus funciones más básicas, para trabajar

Más detalles

MATLAB. Grado en Matemáticas Clases prácticas. Cálculo Numérico II. Introducción a. la sucesión. EJEMPLO: Calcular los primeros cinco términos de

MATLAB. Grado en Matemáticas Clases prácticas. Cálculo Numérico II. Introducción a. la sucesión. EJEMPLO: Calcular los primeros cinco términos de Cálculo Numérico II Grado en Matemáticas Clases prácticas Introducción a MATLAB Bucles Permiten la repetición de un mismo tipo de cálculo. Su estructura general es: for k=n1:incremento:n2 (comandos a ejecutarse)

Más detalles

SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS SCILAB. MASCOTA (frailecillo) LOGO

SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS SCILAB. MASCOTA (frailecillo) LOGO SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS SCILAB LOGO MASCOTA (frailecillo) SCILAB Paquete de software de código abierto para computación científica (cálculo numérico, operaciones matriciales,

Más detalles

Arranca Matlab después de registrarte (nombre y contraseña LDAP). Después del arranque, se mostrará la siguiente interfaz:

Arranca Matlab después de registrarte (nombre y contraseña LDAP). Después del arranque, se mostrará la siguiente interfaz: Laboratorio 1 OBJETIVOS DE APRENDIZAJE Entorno Matlab: Espacio de Trabajo, Ventana de Comandos, Editor Variables, Asignaciones Operadores Básicos, tipos de datos y de funciones Scripts INTRODUCCIÓN AL

Más detalles

Procesos Estocásticos I

Procesos Estocásticos I UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO Facultad de Ciencias Plan de estudios de la Licenciatura en Actuaría Procesos Estocásticos I Clave 0630 Modalidad Semestre 5 Créditos 10 Área Campo de conocimiento

Más detalles

Lección 1. Tutorial básico de MATLAB: Operaciones y funciones básicas

Lección 1. Tutorial básico de MATLAB: Operaciones y funciones básicas Lección 1. Tutorial básico de MATLAB: Operaciones y funciones básicas MIGUEL ANGEL UH ZAPATA 1 Análisis Numérico I Facultad de Matemáticas, UADY Agosto 2014 1 Centro de Investigación en Matemáticas, Unidad

Más detalles

Introducción a MATLAB

Introducción a MATLAB Modelos Computacionales Esteban J. Palomo Ferrer Málaga, 2012 Índice Introducción... 2 Variables y Operadores... 3 Vectores y Matrices... 6 Gráficas... 11 Scripts y Funciones... 14 Programación en MATLAB...

Más detalles

FUNCIONES POLINÓMICAS

FUNCIONES POLINÓMICAS PRÁCTICAS CON DERIVE 28 NUM.de MATRÍCULA FECHA... APELLIDOS /Nombre...PC PRÁCTICA CUATRO. FUNCIONES ELEMENTALES FUNCIONES POLINÓMICAS Dado un entero n 0, la función f(x) =a 0 x n + a 1 x n 1 + a 2 x n

Más detalles

Principios y Herramientas de Programación

Principios y Herramientas de Programación Principios y Herramientas de Programación jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR 1 Vectores Un vector es una colección ordenada de datos del mismo

Más detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN HORAS SEMANA

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN HORAS SEMANA UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN PLAN DE ESTUDIOS DE LA LICENCIATURA EN MATEMÁTICAS APLICADAS Y COMPUTACIÓN PROGRAMA DE ASIGNATURA SEMESTRE:4 (CUARTO) Probabilidad

Más detalles

Herramientas computacionales para la matemática MATLAB: Arreglos

Herramientas computacionales para la matemática MATLAB: Arreglos Herramientas computacionales para la matemática MATLAB: Arreglos Verónica Borja Macías Marzo 2013 1 Arreglos Un arreglo es una estructura que MATLAB utiliza para almacenar y manipular datos. Es una lista

Más detalles

Funciones de análisis de datos

Funciones de análisis de datos Funciones de análisis de datos Matlab contiene varias funciones que facilitan la evaluación y análisis de datos. Primero presentaremos varias funciones de análisis sencillas, y luego veremos funciones

Más detalles

Arreglos (vectores y matrices)

Arreglos (vectores y matrices) Arreglos (vectores y matrices) Definición Para la solución de problemas se ha partido de las estructuras secuencialmente lineales, para luego llegar a las estructuras de ciclos. Las estructuras secuenciales

Más detalles

TUTORIAL PROLOG. Lenguajes de programación Universidad Nacional de Colombia Santiago Carvajal Castañeda Mario Andrés Moreno Norato

TUTORIAL PROLOG. Lenguajes de programación Universidad Nacional de Colombia Santiago Carvajal Castañeda Mario Andrés Moreno Norato TUTORIAL PROLOG Lenguajes de programación Universidad Nacional de Colombia Santiago Carvajal Castañeda Mario Andrés Moreno Norato Prolog es un lenguaje de programación lógica de propósito general que se

Más detalles

El Pseudo-código de PsInt

El Pseudo-código de PsInt El Pseudo-código de PsInt Las características de este pseudolenguaje fueron propuestas en 2001 por el responsable de la asignatura Fundamentos de Programación de la carrera de Ingeniería Informática de

Más detalles

Presentación del curso

Presentación del curso Análisis Numérico Presentación del curso CNM-425 Departamento de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft c 2008. Reproducción permitida bajo los términos

Más detalles

Un calculadora avanzada... y algo más!

Un calculadora avanzada... y algo más! INFORMÁTICA, GRUPO D Un calculadora avanzada... y algo más! Vamos a familiarizarnos con el entorno interactivo de Python. Vamos a construir expresiones aritméticas y a guardar los resultados en variables

Más detalles

Departamento de Matemática Aplicada CÁLCULO COMPUTACIONAL. Licenciatura en Química (Curso ) Matrices Práctica 1

Departamento de Matemática Aplicada CÁLCULO COMPUTACIONAL. Licenciatura en Química (Curso ) Matrices Práctica 1 Departamento de Matemática Aplicada CÁLCULO COMPUTACIONAL. Licenciatura en Química (Curso 2005-06) Matrices Práctica 1 1. Introducción En esta práctica vamos a profundizar un poco en las capacidades de

Más detalles

Introducción al MATLAB

Introducción al MATLAB Introducción al MATLAB Dr. Luis Javier Morales Mendoza FIEC Universidad Veracruzana Poza Rica - Tuxpan Índice 1. Introducción al Matlab 2. Operaciones Aritméticas 3. Vectores y Matrices 4. Funciones Matemáticas

Más detalles

INTRODUCCIÓN AL USO DE PAQUETES COMPUTACIONALES

INTRODUCCIÓN AL USO DE PAQUETES COMPUTACIONALES INTRODUCCIÓN AL USO DE PAQUETES COMPUTACIONALES Profesoras Especialista Bernal Herrera Fanny Maricela Especialista Franco Valderrama Dalia Elizabeth Página 1 3.1 Objetivo particular del tema 3.0 Tema II

Más detalles

División Académica de Informática y Sistemas

División Académica de Informática y Sistemas Área de formación Nombre de la asignatura Docencia frente a grupo según SATCA Trabajo de Campo Supervisado según SATCA HCS HPS TH C HTCS TH C TC General 1 5 6 6 0 0 0 6 Clave de la asignatura Programación

Más detalles

Álgebra Lineal Tutorial básico de MATLAB

Álgebra Lineal Tutorial básico de MATLAB Escuela de Matemáticas. Universidad Nacional de Colombia, Sede Medellín. 1 VECTORES Álgebra Lineal Tutorial básico de MATLAB MATLAB es un programa interactivo para cómputos numéricos y visualización de

Más detalles

INTRODUCCIÓN A FORTRAN 77

INTRODUCCIÓN A FORTRAN 77 INTRODUCCIÓN A FORTRAN 77 José G. López, Gloria Moyano Teoría de la Dinámica de Reacciones Químicas Instituto de Química Universidad de Antioquia Medellín, Colombia Reglas para un Archivo de Fortran 77

Más detalles

MATEMÁTICA D INTRODUCCIÓN A SCILAB. Por: Dr. Javier Francesconi

MATEMÁTICA D INTRODUCCIÓN A SCILAB. Por: Dr. Javier Francesconi MATEMÁTICA D INTRODUCCIÓN A SCILAB Por: Dr. Javier Francesconi Email: javierf@santafe-conicet.gov.ar INTRODUCCION Scilab (Scientific Computing Laboratory) es un programa desarrollado por INRIA (Institut

Más detalles

Presentación del curso

Presentación del curso Análisis Numérico Presentación del curso CNM-425 Departamento de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft c 2010. Reproducción permitida bajo los términos

Más detalles

>> 10.5 + 3.1 % suma de dos números reales, el resultado se asigna a ans

>> 10.5 + 3.1 % suma de dos números reales, el resultado se asigna a ans Universidad de Concepción Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Matemática Cálculo Numérico (521230) Laboratorio 1: Introducción al Matlab Matlab es una abreviatura para

Más detalles

INTRODUCCIÓN A MATLAB. Laboratorio de Biofísica, U.T.P

INTRODUCCIÓN A MATLAB. Laboratorio de Biofísica, U.T.P Laboratorio 11 INTRODUCCIÓN A MATLAB Laboratorio de Biofísica, U.T.P 11.1 Objetivos Familiarizarse con el entorno de la herramienta MATLAB. Iniciación en la utilización de toolbox de procesado de señales

Más detalles

M a tl a b. Oriol Roca ARREGLOS EN MATLAB.

M a tl a b. Oriol Roca ARREGLOS EN MATLAB. ARREGLOS EN MATLAB Arreglos Estructura de datos que permite almacenar varios datos bajo el mismo nombre. VECTORES: son unidimensionales 0 2 4 6 8 VS egu e crida t od en r ei nstern et Vectores Para crear

Más detalles

División Académica de Informática y Sistemas División Académica Multidisciplinaria de los Ríos Ingeniería en Informática Administrativa

División Académica de Informática y Sistemas División Académica Multidisciplinaria de los Ríos Ingeniería en Informática Administrativa Área de formación Nombre de la asignatura Docencia frente a grupo según SATCA Trabajo de Campo Supervisado según SATCA HCS HPS TH C HTCS TH C TC General 1 5 6 6 0 0 0 6 Clave de la asignatura Programación

Más detalles

Lista de problemas: ciclos y funciones en el lenguaje MATLAB

Lista de problemas: ciclos y funciones en el lenguaje MATLAB Lista de problemas: ciclos y funciones en el lenguaje MATLAB Esta lista de problemas está compuesta para probar si el estudiante tiene ciertas habilidades básicas de programación con arreglos, funciones

Más detalles

MAESTRIA EN CIENCIAS DE LA COMPUTACION. Área: Tronco Común. Programa de Asignatura: Matemáticas Discretas. Código: MCOM

MAESTRIA EN CIENCIAS DE LA COMPUTACION. Área: Tronco Común. Programa de Asignatura: Matemáticas Discretas. Código: MCOM MAESTRIA EN CIENCIAS DE LA COMPUTACION Área: Tronco Común Programa de Asignatura: Matemáticas Discretas Código: MCOM 20100 Tipo: Obligatoria Créditos: 9 Fecha: Noviembre 2012 1 1. DATOS GENERALES Nombre

Más detalles

Lic. Guillermo Mario Chuquipoma Pacheco

Lic. Guillermo Mario Chuquipoma Pacheco UNSAAC Lic. Guillermo Mario Chuquipoma Pacheco mariochuqui@hotmail.com www.mariochuqui.jimdo.com Variables del MatLab Lic. Guillermo Mario Chuquipoma Pacheco 2009 Temario General 1. Introducción. 2. Interfaz

Más detalles

Programación en Lenguaje R

Programación en Lenguaje R Programación en Lenguaje R Tutor: El curso será impartido por el Dr Oldemar Rodríguez y el Ing. Carlos Agüero. Duración: Cuatro semanas. Descripción: Este curso ofrece una introducción práctica a las técnicas

Más detalles

Universidad Rafael Urdaneta Escuela de Ingeniería de Computación. MSc Jaime Soto. Identificadores, palabras reservadas, delimitadores, comentarios

Universidad Rafael Urdaneta Escuela de Ingeniería de Computación. MSc Jaime Soto. Identificadores, palabras reservadas, delimitadores, comentarios Universidad Rafael Urdaneta Escuela de Ingeniería de Computación Identificadores, palabras reservadas, delimitadores, comentarios Números y caracteres Constantes y variables Estructura de un programa MSc

Más detalles

Alfred V. Aho, Peter J. Weinberg, Brian W. Kerningan

Alfred V. Aho, Peter J. Weinberg, Brian W. Kerningan Desarrolladores de awk Utilidad awk Introducción I Alfred V. Aho, Peter J. Weinberg, Brian W. Kerningan Objetivo inicial Utilidad para desarrollar pequeños programas Potenciar la funcionalidad proporcionada

Más detalles

Clase 4: Funciones en Matlab

Clase 4: Funciones en Matlab Clase 4: Funciones en Matlab Hamilton Galindo 2015 Hamilton Galindo Clase 4: Funciones en Matlab 2015 1 / 34 Outline 1 Tipos de programas 2 Partes básicas de un programa 3 Características generales de

Más detalles

Los tipos de datos que con mayor frecuencia se utilizan en Informática son:

Los tipos de datos que con mayor frecuencia se utilizan en Informática son: Los tipos de datos que con mayor frecuencia se utilizan en Informática son: Datos Simples ó Básicos Numéricos No Numéricos Variables sin Subíndices: Numéricas Alfanuméricas Char Lógicas En general, los

Más detalles

DESCRIPCIÓN DEL LENGUAJE DE PROGRAMACIÓN P-0

DESCRIPCIÓN DEL LENGUAJE DE PROGRAMACIÓN P-0 DESCRIPCIÓN DEL LENGUAJE DE PROGRAMACIÓN P-0 Este documento define los elementos de programación del lenguaje P-0, basado en un subconjunto del lenguaje de programación Arduino. 1.- PROGRAMA Un programa

Más detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO ANÁLISIS DE SEÑALES ALEATORIAS 1560 5 06 Asignatura Clave Semestre Créditos Ingeniería Eléctrica Ingeniería en Telecomunicaciones

Más detalles

Métodos Numéricos utilizando Scilab

Métodos Numéricos utilizando Scilab UNIVERSIDAD NACIONAL DE TUCUMÁN Facultad de Ciencias Exactas y Tecnología Departamento de Electricidad, Electrónica y Computación Carrera de Ingeniería en Computación Métodos Numéricos () Métodos Numéricos

Más detalles

facilidades para cálculo matemático y Dispone de toolboxes especializados: Control Systems, Neural Netword, Optimization, etc.

facilidades para cálculo matemático y Dispone de toolboxes especializados: Control Systems, Neural Netword, Optimization, etc. MATLAB Introducción al MATLAB MATLAB = MATrix LABoratory Es un entorno de computación que presenta facilidades para cálculo matemático y visualización gráfica Dispone de toolboxes especializados: Control

Más detalles

PRÁCTICA NÚMEROS REALES Y COMPLEJOS CURSO Práctica 1 (21- IX-2016)

PRÁCTICA NÚMEROS REALES Y COMPLEJOS CURSO Práctica 1 (21- IX-2016) PRÁCTICA NÚMEROS REALES Y COMPLEJOS CURSO 016-017 Prácticas Matlab Práctica 1 (1- IX-016) Objetivos Iniciarse en el uso de Matlab. Conocer comandos básicos de Matlab para realizar cálculos con números

Más detalles

CURSO DE SCILAB INTRODUCCIÓN

CURSO DE SCILAB INTRODUCCIÓN Solo para ser empleado con objetivo de evaluación, o académicos. Prohibido o la reproducción total o CURSO DE SCILAB INTRODUCCIÓN PARTE I Elaborado por: Prof. Enrique Eduardo Gavorskis Souto e.gavorskis@hotmail.es

Más detalles

Arreglos. Juan Pablo Cobá Juárez Pegueros Algoritmos y Programación Básica Bioingeniería Médica Facultad de Medicina 2015

Arreglos. Juan Pablo Cobá Juárez Pegueros Algoritmos y Programación Básica Bioingeniería Médica Facultad de Medicina 2015 Arreglos Juan Pablo Cobá Juárez Pegueros Algoritmos y Programación Básica Bioingeniería Médica Facultad de Medicina 2015 Contenido Objetivo Qué son los Arreglos? Cómo son los Arreglos? Características

Más detalles

Universidad de Antioquia Facultad de Ciencias Exactas y Naturales Instituto de Matemáticas Taller 3 - Programación

Universidad de Antioquia Facultad de Ciencias Exactas y Naturales Instituto de Matemáticas Taller 3 - Programación Universidad de Antioquia Facultad de Ciencias Exactas y Naturales Instituto de Matemáticas Taller 3 - Programación Alejandro Piedrahita H. Última actualización: 19 de enero de 2014 Nota: para cada uno

Más detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN LICENCIATURA DE INGENIERÍA INDUSTRIAL

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN LICENCIATURA DE INGENIERÍA INDUSTRIAL UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN LICENCIATURA DE INGENIERÍA INDUSTRIAL PROGRAMA DE LA ASIGNATURA DE: Programación Aplicada a la Ingeniería IDENTIFICACIÓN

Más detalles

Conceptos de Algoritmos, Datos y Programas

Conceptos de Algoritmos, Datos y Programas Conceptos de Algoritmos, Datos y Programas Año 2015 Carreras: Lic. en Informática P2015 Lic. en Sistemas P2015 APU P2015 Año: 1 Duración: Cuatrimestral Coordinador: Ing. Armando De Giusti Profesores: Esp.

Más detalles

Universidad Autónoma del Estado de México Licenciatura en Matemáticas Programa de Estudios: Programación

Universidad Autónoma del Estado de México Licenciatura en Matemáticas Programa de Estudios: Programación Universidad Autónoma del Estado de México Licenciatura en Matemáticas 2003 Programa de Estudios: Programación I. Datos de identificación Licenciatura Matemáticas 2003 Unidad de aprendizaje Programación

Más detalles