Sunteți pe pagina 1din 2

Fundamentos de Programacioó n Cientíófica en Quíómica

Relación ejercicios Tema 6.

1.- Codifica una función que reciba un vector de elementos y devuelva su


media geométrica (la raíz n-ésima de la multiplicación de los n valores, para un
vector de tamaño n).

2.- Codifica una función en MATLAB para la siguiente función matemática:


y(x) = -0.2x4 + e-0.5xx3 + 7x2 La entrada a la función es x y la salida es y.
Escribir la función tal que x sea un vector (utilizar operaciones elemento a
elemento).

a) Utilizar la función para calcular y(-2.5), e y(3).

b) Usarla para realizar una gráfica de y(x) en -3<=x<=4.

3.- Realice una función que indique si un número entero es primo.

4.- Decimos que un número entero es guay si puede obtenerse como suma de
números enteros consecutivos; por ejemplo, 3 (=1+2), 5 (=2+3), 6 (=1+2+3),
son números guays. Diseñe una función en MATLAB que reciba un número
entero positivo e indique si éste es guay.

5.- Realice una función que escriba un número entero descompuesto en


factores primos.
6.- Los elementos de la matriz simétrica de Pascal se obtienen de la siguiente
forma:
Pij = (i+j-2)! / ( (i-1)!(j-1)! )
Escribir una función en MATLAB que cree una matriz simétrica de Pascal. Esta
función tomará el tamaño de la matriz cuadrada. Usarlo para crear una matriz
de 4x4 y otra de 7x7.
7.- Un modelo para crecimiento exponencial o descomposición de una cantidad
viene dado por:
A(t) = A0ekt
donde A(t) y A0 son las cantidades en el instante t y el instante 0,
respectivamente, y k es una constante única dependiente de la aplicación
específica. Escribe una función en MATLAB que use este modelo para
predecir la cantidad A(t) en el instante t a partir del conocimiento de A0 y de
A(t1) en un cierto instante t1. Utilizar la cabecera de función At = expGC(A0,
At1, t1, t), donde el argumento de salida At se corresponde con A(t), y los
argumentos de entrada A0, At1, t1, t, se corresponden respectivamente con A0,
A(t1), t1, y t respectivamente. Utilizar la función en la línea de comandos
para los dos siguientes casos:

1
a) La población de México fue de 67 millones en el año 1980 y 79
millones en el 1986. Estimar la población en el año 2000.
b) La vida media de un material radiactivo es de 5.8 años. Cuánto
quedará de una cantidad de 7 gramos tras 30 años
8.- El porcentaje de grasa corporal de una persona puede estimarse por la
fórmula:
BFP = 1.2xBMI + 0.23xAge – 10.8xGender – 0.54
Donde BMI es el índice de masa corporal, dado por BMI = 703(W/H2), en el
que W es el peso en libras y H es la altura en pies, Age es la edad de la
persona, y Gender= 1 para hombre y 0 para mujer. Escribir un programa en
MATLAB que calcule el porcentaje de grasa corporal. Para la cabecera de
función utilizar BFP = GrasaCorporal(w, h, age, gen). Utilizar la función para
calcular el porcentaje de grasa corporal de:
a) un hombre de 35 años, 6 pies y 2 pulgadas de alto, y 220 lb de peso
b)una mujer de 22 años, 5 pies y 7 pulgadas de alto, y 135 lb de peso
9.- Programe una máquina para devolver cambio de dinero. Esta máquina
recibirá un vector de monedas entregadas (correspondientes a las monedas de
2, 1, 0.5, 0.2, 0.1, 0.05, 0.02 y 0.01 EUR, así, un vector [0,0,1,2,0,1,0,0]
indicaría que se han entregado una moneda de 0.5 céntimos, dos de 20, y una
de 5 céntimos), y una cantidad a pagar. La máquina devolverá otro vector con
el cambio que corresponda a dicho pago.
10.- Realice una función que reciba un vector e indique el valor menor de dicho
vector, y además la posición de dicho valor menor.

11.- Realice una función que reciba dos vectores ordenados y los funda en un
tercer vector, el cual a su vez debe estar ordenado.
12.- Un punto de silla es un elemento de una matriz que es el menor valor de
su fila y, a la vez, es el mayor valor de su columna. Escriba una función en
MATLAB que reciba una matriz cuadrada de reales de orden n y devuelva
cuantos puntos de silla contiene dicha matriz.
13.- Codifica una función que reciba un vector y devuelva el número de veces
que aparece el elemento que más veces aparece. No se podrá llamar a
ninguna función. Por ejemplo v = (0.3, 1.7, 3.2, 1.7) devolvería 2. Ampliar de
forma que devuelva el elemento más repetido y el número de repeticiones.
14.- Realice un programa que dado un vector V (por simplicidad lo crearemos
nosotros aleatoriamente dentro del script) y un valor d que se lee desde
teclado, indique si todos los elementos del vector son divisibles entre d o no.

S-ar putea să vă placă și