Lenguaje de Programación Computación y Programación Vectores Yussef Farran yfarran@udec.cl
Estructura de datos: vector arreglo unidimensional contenido Nombre del vector: V 1 2 3 4 5 Dirección del elemento Variable puntero o indice V(3)
Recorrer un vector A es el vector j: variable índice o puntero Resultado esperado: mostrar cada elemento de A for j = 1 : n A ( j ) end j = 1:n A ( j )
Función length(M) Esta función permite obtener el número (o cantidad) de elementos del vector M ¿Cuántos elementos tiene el vector M? Si M= [8, 9, 10, 2, 1] length(M) ans = 5
Obtener la Suma de todos los elementos de un vector Análisis: Resultado esperado: sumatoria de todos los elementos: Datos requeridos: los elementos ai Proceso: recorrer el vector y acumular cada uno de sus elementos
Obtener la Suma de todos los elementos de un vector n = length (A) suma = 0 for j=1:n suma = suma + A(j) end n = length(A) suma = 0 j = 1:n suma = suma + A ( j ) Entregar suma
ejercicios Generar un vector de n elementos, cuyos elementos contengan el valor de su posición Generar un vector de n elementos, cuyos elementos contengan los n primeros números impares Considerar uso de while y for 1 5 4 3 2 1 9 7 5 3 4 2
a. Construir un vector V que sea exactamente igual al vector A b. Dado un vector, buscar el mayor valor numérico entre sus elementos c. Para el caso anterior, indicar también su posición en el vector
El operador : (dos puntos) v1: Valor inicial v2: paso o incremento (si se omite se supone 1) v3: valor final representa un rango a = [ v1 : v2 : v3 ] x = [ 1 : 3 : 15 ] x = 1 4 7 10 13 for i = 1 : 3 : 15 equivalente a for i = x
Generación de elementos de un vector M = [primer elemento : paso : último elemento] crea un vector fila que va desde “primer elemento” hasta “último elemento” dando saltos de la magnitud indicada por “paso”. Por ejemplo M = [1 : 0.5 : 3] ; genera el vector fila M = [ 1 1.5 2 2.5 3 ]
Funciones que actúan sobre vectores Las siguientes funciones sólo actúan sobre vectores (no sobre matrices, ni sobre escalares): [xm,im]=max(x) máximo elemento de un vector. Devuelve el valor máximo xm y la posición que ocupa im min(x) mínimo elemento de un vector. Devuelve el valor mínimo y la posición que ocupa sum(x) suma de los elementos de un vector cumsum(x) devuelve el vector suma acumulativa de los elementos de un vector (cada elemento del resultado es una suma de elementos del original) mean(x) valor medio de los elementos de un vector std(x) desviación típica prod(x) producto de los elementos de un vector cumprod(x) devuelve el vector producto acumulativo de los elementos de un vector [y,i]=sort(x) ordenación de menor a mayor de los elementos de un vector x. Devuelve el vector ordenado y, y un vector i con las posiciones iniciales en x de los elementos en el vector ordenado y.
Genera vector con LINSPACE vector linealmente espaciado LINSPACE(X1, X2) genera un vector con 100 elementos entre los puntos x1 y x2, igualmente o linealmente espaciados. LINSPACE(X1, X2, N) genera N puntos entre X1 y X2 para N < 2, LINSPACE devuelve X2.
Generar un vector Por ejemplo: linspace (0, 1, 5) crea el vector fila [ 0 0.25 0.5 0.75 1 ] linspace(1,5,5)
Cadenas de caracteres Para todos los efectos, deben ser considerados como los vectores, pero su tipo de dato es alfanumérico o carácter. Ejercicio: Dada una cadena de caracteres, entregar la cadena en orden inverso, por ejemplo: abuelita atileuba