Está en la página 1de 6

Informática

Facultad de Ingeniería
UNRC

Práctico 7 – Informática 2013

Programación con arrays en MATLAB

Los siguientes ejercicios deben ser resueltos realizando análisis del problema, diseño del
algoritmo y codificación en MATLAB. En el código MATLAB, se sugiere el uso de líneas
de comentarios aclarativas, para crear helps o ayudas en los archivos de función.

Modelo de ayuda
%{
Archivo de función i_suma.
Cálculo de la suma de los elementos de un vector de tamaño n.

Argumentos de entrada: x: vector de datos

Argumentos de salida: suma: resultado de sumar los elementos del


vector.

Funciones que utiliza: length.m: calcula la cantidad de elementos de un


vector.

Estructura de programación: Repetitiva - Instrucción for.


Concepto de Acumulador.
________________________________________________________________________
%}

Ejercicio 1
Generación de vectores
a) Realizar un archivo de función, para generar un vector de dimensión n, donde cada
uno de sus elementos debe tener la siguiente característica:
(1)i
v(i)  12 2 , para i=1,2,3 …n
i
Probar la función para valores de n=10, n=100, n=1000

b) Realizar un archivo de función para generar un vector de dimensión n, cuyos


elementos sean los n términos de la secuencia de Fibonacci.
Secuencia de Fibonacci: 0, 1, 1, 2, 3,5 8, 13, 21,………..
Primer término.0
Segundo término: 1
Los demás términos se obtienen mediante la suma de los dos anteriores.
El término i = término (i-1) + término (i-2)

1
Informática
Facultad de Ingeniería
UNRC

Ejercicio 2
Suma de los elementos de un vector
Realizar un archivo de función que permita sumar los elementos de un vector. La función
recibe el vector, y retorna su suma. Para conocer la cantidad de elementos que tiene el
vector, utilizar la siguiente función interna (built in) de MATLAB.

Retorna la cantidad de elementos de un vector. Si x es una


length(x)
matriz, retorna la dimensión mayor.

Probar la función, para los vectores generados en el ejercicio 1.

Ejercicio 3
Promedio de los elementos de un vector
Realizar un archivo de función que permita calcular el promedio de los elementos de un
vector. La función recibe el vector, y retorna su promedio. El promedio se obtiene como la
suma de los elementos del vector dividido por la cantidad de elementos del mismo.
Nota: Utilizar para sumar los elementos, la función creada en el ejercicio 2.

Ejercicio 4
Suma de dos vectores
La suma de dos vectores, es una operación definida en álgebra de la siguiente manera:
Si x  x1 , x2 , x3 ,..., xn y y  y1 , y2 , y3 ,..., yn

La suma de vectores x + y es un vector y se define como:


x + y  x1  y1 , x2  y2 , x3  y3 ,..., xn  yn

Realizar un archivo de función que permita calcular la suma de dos vectores. La función
recibe ambos vectores, y retorna un tercer vector resultado de sumar los dos anteriores.

Ejercicio 5
Producto escalar de vectores
El producto escalar de dos vectores, se define en álgebra como:
Si x  x1 , x2 , x3 ,..., xn y y  y1 , y2 , y3 ,..., yn
su producto escalar es. x.y  x1. y1  x2 . y2  x3 . y3  ...  xn . yn

Realizar un archivo de función que permita calcular el producto escalar de dos vectores. La
función recibe ambos vectores, y retorna un escalar.

2
Informática
Facultad de Ingeniería
UNRC

Ejercicio 6
Mínimo de dos vectores
El mínimo de dos vectores, es una función definida en MATLAB, que recibe dos vectores
de igual dimensión y retorna un tercer vector de igual dimensión a los anteriores con los
elementos menores de x o y.
Si x  10 20 30 40 y y  12 18 31 40 , el vector de mínimos es
z  10 18 30 40 .

Programar la función que calcula el mínimo de dos vectores, en un archivo de función.

Ejercicio 7
Máximo de un vector
a) Realizar un archivo de función, que calcule el mayor elemento de un vector.
La función recibe un vector y retorna un escalar.
b) Modificar el algoritmo realizado en a), de manera que la función retorne el máximo
del vector y la posición donde se encuentra. Suponer que el vector solo tiene un
elemento máximo.
Si la función recibe x  10 20 50 40 , el máximo es 50 y se encuentra en la
posición 3.

Ejercicio 8
Modificando los elementos de un vector
Realizar un archivo de función, que reciba un vector, y modifique sus elementos de la
siguiente manera. Duplicar los elementos que son positivos y pares. El resto de los
elementos permanecen sin cambio.
La función retorna el vector modificado.
Si x  5 17 3 8 0 7 12 15 20 6 la función retorna el vector modificado
x  5 17 3 16 0 7 24 15 40 6

Ejercicio 9
Extracción de la posición de los elementos que cumplen una condición en un vector
Modificar el algoritmo del ejercicio 8, de manera de encontrar la posición de los elementos
positivos y pares en el vector que recibe la función. Tener en cuenta que la posición de los
elementos debe ser guardada en otro vector.
Si x  5 17 3 8 0 7 12 15 20 6 la función retorna el vector de
posiciones p   4 7 9 .

3
Informática
Facultad de Ingeniería
UNRC

Ejercicio 10
En un archivo de función, encontrar en un vector, la posición de los elementos menores a
un escalar t. Tener en cuenta que la posición de los elementos debe ser guardada en otro
vector.

Si x=[10 20 30 40 50 60 70 ] y t= 35, la función retorna el vector de posiciones p=[1 2 3]

Si x=[10 20 15 4 50 45 7 ] y t= 35,la función retorna el vector de posiciones p=[1 2 3 4 7 ]

Ejercicio 11
Escribir un programa en un archivo de instrucción para crear una matriz con elementos que
tengan los siguientes valores:
El valor de los elementos en la primera fila es el número de la columna.
El valor de los elementos en la primera columna es el número de la fila.
El resto de los elementos son iguales a la suma del elemento de su izquierda y el elemento
que se encuentra por encima de él.
Cuando el archivo es ejecutado, el programa pregunta al usuario los valores de m (cantidad
de filas de la matriz) y n(cantidad de columnas de la matriz).

Ejercicio 12
Matriz identidad
Realizar una función que genere la matriz identidad de orden n. La función recibe el orden
de la matriz.

Ejercicio 13
Matrices triangulares
En un archivo de función, generar a partir de una matriz cuadrada, tres matrices, una
triangular superior, otra triangular inferior, y una matriz diagonal. La función recibe la
matriz cuadrada.

Ejercicio 14
Suma de los elementos de la diagonal principal de una matriz
Realizar un archivo de función, que reciba una matriz cuadrada y retorne la suma de los
elementos de la diagonal principal.

Ejercicio 15
Extracción en un vector, de los elementos de la diagonal principal de una matriz
Realizar una función que reciba una matriz cuadrada y retorne un vector con los elementos
de la diagonal principal.

4
Informática
Facultad de Ingeniería
UNRC

Ejercicio 16
Extracción en un vector, de los elementos de la diagonal secundaria de una matriz
Realizar una función que reciba una matriz cuadrada y retorne un vector con los elementos
de la diagonal secundaria de la matriz.

Ejercicio 17

Realizar un archivo de función, que reciba una matriz cuadrada y retorne en un vector los
elementos que están por encima de la diagonal principal de la matriz.

Ejercicio 18

a) Producto interno de vectores


Realizar un archivo de instrucción que lea dos vectores de igual dimensión. Mientras los
vectores no tengan la misma dimensión, el programa deber permitir el ingreso nuevamente
de ambos vectores hasta que se verifique la condición de igualdad.
Llamar a la función del ejercicio 5, para calcular el producto escalar de ambos vectores.
Mostar resultados.

b) Producto de una matriz por un vector


b.1) Realizar un archivo de función, que reciba una matriz y un vector de dimensiones
compatibles para realizar el producto entre ambos.
El producto entre una matriz y un vector, se define en álgebra como el producto interno de
cada fila i de la matriz por el vector columna. El resultado es un vector columna.
Ejemplo
( )
Si [ ] [ ] [ ] [ ]
( )
Para calcular los productos internos, se puede utilizar la función creada en el ejercicio 5.

b.2) Realizar un archivo de instrucción que lea una matriz y un vector de dimensiones
compatibles para poder realizar el producto entre la matriz y el vector. Mientras los
arreglos no tengan dimensiones adecuadas, el programa deber permitir el ingreso
nuevamente de ambos, hasta que se verifique la condición de igualdad. No permitir el
ingreso de ambos más de 3 veces.
En el caso de ser posible, llamar a la función realizada en b.1), para calcular el producto
entre la matriz y el vector. Mostar resultados o un cartel indicando que no fue posible
realizar el producto.

c) Producto de dos matrices


c.1) Realizar un archivo de función, que reciba dos matrices de dimensiones compatibles
para realizar el producto entre ambas.
El producto entre dos matrices A y B, se define en álgebra como el producto entre la matriz
A y cada columna de j de la matriz B. El resultado es una matriz.

5
Informática
Facultad de Ingeniería
UNRC

Ejemplo

( ) ( )
Si [ ] [ ] [ ] [ ]
( ) ( )
Para calcular el producto entre ambas matrices se puede utilizar la función realizada en b.1)

c.2) Realizar un archivo de instrucción que lea dos matrices de dimensiones compatibles
para poder realizar el producto entre ellas. Mientras los arreglos no tengan dimensiones
adecuadas, el programa deber permitir el ingreso nuevamente de ambos, hasta que se
verifique la condición de igualdad. No permitir el ingreso de ambos más de 3 veces.
En el caso de ser posible, llamar a la función realizada en c.1), para calcular el producto
entre las matrices. Mostar resultados o un cartel indicando que no fue posible realizar el
producto.

Problemas Propuestos

a) Realizar un archivo de función, que reciba un vector ordenado de menor a mayor, y


un escalar t, y retorne el vector con una componente más, donde el elemento t, esté
ubicado en la posición que corresponda para que el nuevo vector permanezca
ordenado.

Si v=[10,20,30,40,50,60] y t=35, el nuevo vector v =[10, 20,30,35,40,50,60]


Sugerencia: Utilizarla función del ejercicio 10.

b) Las máximas temperaturas diarias en °F para Nueva York y Alaska durante el mes
de junio de 2001 reportadas por U.S. National Oceanic and Atmospheric
Administration se muestran a continuación:
TNY = [31 26 30 33 33 39 41 41 34 33 45 42 36 39 37 45 43 36 41 37 32 32 35 42 38 33 40 37 36 51 50]

TANC = [37 24 28 25 21 28 46 37 36 20 24 31 34 40 43 36 34 41 42 35 38 36 35 33 42 42 37 26 20 25 31]

Escribir un archivo de instrucción para dar respuesta a las siguientes preguntas:


a) Calcular el promedio de temperatura para el mes de junio en cada ciudad.
b) Cuántos días las temperaturas son menores al promedio?
c) Cuántos días, y cuáles días del mes, las temperaturas en Alaska son más altas que en
Nueva York?
d) Cuántos días, y cuáles días del mes, las temperaturas son iguales en ambas ciudades?
e) Cuántos días y cuáles días en el mes, hay heladas en ambas ciudades. (Temperaturas por
debajo de 32°F)?

También podría gustarte