0% encontró este documento útil (0 votos)
227 vistas6 páginas

Informatica 14-15 Primera Prueba MATLAB Solución Grupo 1

Este documento presenta tres modelos de exámenes que incluyen enunciados y funciones de MATLAB. El primer modelo propone una función para determinar si un vector es monótonamente decreciente. El segundo modelo propone una función para mapear los valores de un vector en una matriz de coordenadas. El tercer modelo propone un script para calcular la media armónica de un vector introducido por el usuario.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
227 vistas6 páginas

Informatica 14-15 Primera Prueba MATLAB Solución Grupo 1

Este documento presenta tres modelos de exámenes que incluyen enunciados y funciones de MATLAB. El primer modelo propone una función para determinar si un vector es monótonamente decreciente. El segundo modelo propone una función para mapear los valores de un vector en una matriz de coordenadas. El tercer modelo propone un script para calcular la media armónica de un vector introducido por el usuario.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1ª PRUEBA DE

SEGUIMIENTO
MODELO 1

ESCUELA TÉCNICA SUPERIOR Nombre: INFORMÁTICA


DE INGENIEROS INDUSTRIALES Grupo: D.N.I: Noviembre 2014

NORMAS DEL EXAMEN


• La duración de la prueba será de 45 minutos.
• La solución se debe entregar en el folio del enunciado. Sólo se podrá hacer uso de dicho folio para escribirla.
• No se corregirá nada que no esté escrito con un método de escritura indeleble.
• No se permite el uso de ningún material salvo el ordenador del aula, un bolígrafo y papel.
• Solo se permite el uso de las siguientes funciones de MATLAB: size, length, rem, floor, ceil, rand, error,
warning, disp.

ENUNCIADO
1. Escribir una función de MATLAB, llamada decreciente, que reciba un vector de números, v, cuya
longitud debe ser un número impar, y devuelva un valor binario. La salida valdrá 1 si el vector de entrada es
monótono decreciente y 0 en caso contrario.

= [17, 16, 5, 4, −3] → =1 = [19, 19, 19, 5, 1.5, 1, 1] → =1


Ejemplos:

= [0, −1.2, 5, 6.3, 8] → =0 = [1, 1, 1, 1, 1] → =0

Nota: Si el vector de entrada no es válido según las especificaciones del enunciado, la función devolverá un
mensaje de error y terminará la ejecución.
1ª PRUEBA DE
SEGUIMIENTO
MODELO 1

ESCUELA TÉCNICA SUPERIOR Nombre: INFORMÁTICA


DE INGENIEROS INDUSTRIALES Grupo: D.N.I: Noviembre 2014

function [b] = decreciente(v)


%DECRECIENTE Indica si un vector es monótonamente decreciente
% La función devuelve un valor booleano que indica si el vector argumento
% de entrada es o no monótonamente decreciente. Si la salida es 1 el
% vector es decreciente. Si la salida es 0, no.
% En el caso de que el vector contenga todos los elementos iguales, la
% función debe devolver un 0.
% Arg. Entrada:
% * v: vector de números con tamaño impar
% Arg. Salida:
% * b: valor booleano que indica si v es monotonamente decreciente

% Chequeo de argumentos de entrada


if (nargin == 0)
error('No hay argumento de entrada')
elseif (rem(length(v),2)~=1)
error('El vector debe ser de tamano impar')
end

% Algoritmo
% Suponemos que es decreciente
b = 1;
for i=2:length(v)
% Si en algun momento crece, deja de ser monótonamente decreciente
if (v(i)>v(i-1))
b = 0;
end
end
% Caso particular: todos los elementos son iguales -> no es decreciente
if (v(1)==v(length(v)))
b = 0;
end

return
1ª PRUEBA DE
SEGUIMIENTO
MODELO 2

ESCUELA TÉCNICA SUPERIOR Nombre: INFORMÁTICA


DE INGENIEROS INDUSTRIALES Grupo: D.N.I: Noviembre 2014

NORMAS DEL EXAMEN


• La duración de la prueba será de 45 minutos.
• La solución se debe entregar en el folio del enunciado. Sólo se podrá hacer uso de dicho folio para escribirla.
• No se corregirá nada que no esté escrito con un método de escritura indeleble.
• No se permite el uso de ningún material salvo el ordenador del aula, un bolígrafo y papel.
• Solo se permite el uso de las siguientes funciones de MATLAB: size, length, rem, floor, ceil, rand, error,
warning, disp.

ENUNCIADO
2. Escribir una función de MATLAB, llamada posiciones, que reciba un vector de números enteros mayores
que 0, v, y los pase a un sistema de coordenadas cartesianas representado por una matriz M de dimensiones
mxn, donde m es el máximo valor del vector y n la longitud del vector.
Cada valor de v se representará en la altura correspondiente de M, siendo la fila inferior la correspondiente
a la altura 1 y la superior la correspondiente a la altura m. En caso de que no haya número del vector que se
corresponda con una posición M(x,y) de la matriz se pondrá el valor 0.

0 0 0 6 0
Ejemplos:

0 0 5 0 0
0 0 3 0 0 0
0 0 0 0 0
= [3, 2, 5, 6, 1] → = = [1.7, 2, 3.3, 1, 2, 2] → = 0 2 0 0 2 2!
3 0 0 0 0
1 0 0 1 0 0
0 2 0 0 0
0 0 0 0 1

Nota: Si el vector de entrada tiene un número real, este se truncará con la función floor y se pondrá en
M(x,y)=floor(y).
1ª PRUEBA DE
SEGUIMIENTO
MODELO 2

ESCUELA TÉCNICA SUPERIOR Nombre: INFORMÁTICA


DE INGENIEROS INDUSTRIALES Grupo: D.N.I: Noviembre 2014

function [M] = posiciones(v)


%POSICIONES Crea una matriz de alturas según los datos de v
% La función devuelve una matriz en la que se indica la 'altura' de cada
% uno de los elementos del vector v. Todos los elementos de v deberán ser
% positivos. Si no son enteros, se redondean hacia -infinito utilizando la
% función floor
% Arg. Entrada:
% * v: vector de números positivos
% Arg. Salida:
% * M: Matriz de números enteros con las alturas de cada uno de los
% elementos de la matiz

% Chequeo de argumentos de entrada


if (nargin == 0)
error('No hay argumento de entrada')
end
for i=1:length(v)
if (v(i)<=0)
error('Hay un valor fuera de los limites')
end
end

% Algoritmo
% Pasamos a enteros por si hay numeros reales
v_ent = floor(v);
% Calculamos el maximo del vector
max = v_ent(1);
for i=2:length(v_ent)
if (v_ent(i)>max)
max = v_ent(i);
end
end

% Creamos la matriz
M = zeros(max,length(v_ent));
for j=1:length(v_ent)
M(max-v_ent(j)+1,j) = v_ent(j);
end

return;
1ª PRUEBA DE
SEGUIMIENTO
MODELO 3

ESCUELA TÉCNICA SUPERIOR Nombre: INFORMÁTICA


DE INGENIEROS INDUSTRIALES Grupo: D.N.I: Noviembre 2014

NORMAS DEL EXAMEN


• La duración de la prueba será de 45 minutos.
• La solución se debe entregar en el folio del enunciado. Sólo se podrá hacer uso de dicho folio para escribirla.
• No se corregirá nada que no esté escrito con un método de escritura indeleble.
• No se permite el uso de ningún material salvo el ordenador del aula, un bolígrafo y papel.
• Solo se permite el uso de las siguientes funciones de MATLAB: size, length, rem, floor, ceil, rand, error,
warning, disp, input, fprintf.

ENUNCIADO
1. Escriba un fichero de comandos de MATLAB, llamado media_armonica, que calcule la media armónica
de los elementos de un vector. Dicho vector será introducido por teclado (se recomienda usar la función
input) y, tras los cálculos se imprimirá por pantalla el resultado. La media armónica de un vector de N
componentes se define como

(
"# $"%& ' =
1 1 1
)* + ), + ⋯ + ).
Ejemplos de ejecución:

>> media_armonica >> media_armonica


Indique el tamano del vector: 4 Indique el tamano del vector: 3
Indique el siguiente elemento del vector: 1 Indique el siguiente elemento del vector: 1
Indique el siguiente elemento del vector: 2 Indique el siguiente elemento del vector: 0
Indique el siguiente elemento del vector: 4 El elemento debe ser positivo. Indique otro valor: -1
Indique el siguiente elemento del vector: 5 El elemento debe ser positivo. Indique otro valor: 2
Indique el siguiente elemento del vector: 10
La media armonica del vector es 2.051282.
>> La media armonica del vector es 1.875000.
>>

Nota: Todos los elementos del vector deberán ser estrictamente positivos. En caso de que se introduzca un
valor no positivo para un elemento, se volverá a pedir dicho elemento hasta que el valor sea válido.
1ª PRUEBA DE
SEGUIMIENTO
MODELO 3

ESCUELA TÉCNICA SUPERIOR Nombre: INFORMÁTICA


DE INGENIEROS INDUSTRIALES Grupo: D.N.I: Noviembre 2014

% MEDIA_ARMONICA.m
% Este fichero de comandos solicita los valores de un vector del cual se
% quiere calcular la media armónica. Estos valores deberán ser positivos.
% Una vez que se ha calculado, se imprime por pantalla su valor.
% La media armónica de un vector de N elementos se define como:
% N
% ma = -----------------------
% 1 1 1
% --- + --- + ... + ---
% x1 x2 xN
% donde x1, x2 ... xN son los elementos del vector.

% Solicitamos el tamano del vector


tamano = input('Indique el tamano del vector: ');
while (tamano<1 || tamano~=round(tamano))
tamano = input('Por favor, introduzca un tamano valido (positivo): ');
end

% Creamos el vector de elementos


vector = zeros(1,tamano);
for i=1:tamano
% Solicitamos el elementos i-esimo
vector(i) = input('Indique el siguiente elemento del vector: ');
% Y lo seguimos solicitando mientras no sea correcto (positivo)
while (vector(i)<=0)
vector(i) = input('El elemento debe ser positivo. Indique otro valor: ');
end
end

% Calculamos la media armonica de vector


ma = 0;
for i=1:length(vector)
ma = ma + 1/vector(i);
end
ma = tamano/ma;

% Imprimimos el resultado por pantalla


fprintf('La media armonica del vector es %f.\n',ma);

También podría gustarte