Matlab - ayuda ejercicios matlab

 
Vista:

ayuda ejercicios matlab

Publicado por Ana (4 intervenciones) el 20/06/2008 20:10:44
Buenas, estoy haciendo unos ejercicios de clase en donde estamos aprendiendo a programar con Matlab. Pero aún tengo ciertas dudas, agradeceria a quien me pudiera echar un cable. Mil gracias

Ejercicio 1.1
Consideramos un ejemplo simplificado de ordenador, compuesto por un sistema de
entrada-salida (E/S) y una unidad central de proceso (CPU). El ordenador falla cuando
lo hace alguno de los dos componentes (CPU o E/S). Como parte de un estudio
destinado a mejorar la fiabilidad del ordenador, estamos interesados en calcular el
tiempo esperado E(T) hasta que se produzca un fallo.
a) Obtener resultados de tiempo esperado de fallo a través de simulación.
Se realiza una aproximación basada en simulación que consiste en construir un
programa que describa el comportamiento del sistema y realizar diversos experimentos
con él. El pseudocódigo a utilizar es el siguiente:

tiempofallo=0
desde i=1 hasta n
desde j=1 hasta 2
generar Uj uniforme en (0,1)
hacer Xj=-ln(1-Uj)/muj
tiempofallo=tiempofallo+min(X1,X2)
esp(tiempofallo)=tiempofallo/n

Donde n corresponde al número de pruebas y U es un tiempo aleatorio. El proceso de
generar U y luego transformarla mediante X = -ln(1-U)/μ, nos permite simular tiempos
hasta rotura del componente i-ésimo (generación de variables aleatorias exponenciales
por el método de inversión).
Esencialmente, el programa simula tiempos de fallo X1, X2 y calcula el mínimo de
ellos, repitiéndose el proceso n veces, esto es, simulando n caídas del sistema. Probar
con μ= [1 2]; y con μ= [1 1]
Necesitamos previamente generar los números Ui, j=1,2, cuestión que se discutirá en
otra práctica. Para esta aplicación particular, supongamos que tenemos acceso a la Tabla
1.1 de números aleatorios. Por ejemplo, si decidimos que n=20, podemos escoger los 20
primeros números para generar los U1:

16 82 39 86 86 73 07 32 72 35 12 82 87 21 30 30 60 53 89 92

y los 20 ultimos para generar U2:

38 63 63 30 36 25 66 30 53 98 49 78 40 92 80 97 67 46 38 34

Para ello, asociamos al número correspondiente el cociente resultante de la división
por 100. Por ejemplo, los primeros números que utilizamos son 16 y 38, con lo cual U1=0.16, U2=0.38, X1=0.17, X2=0.24 y min(X1,X2)=0.17. Repitiendo el proceso, resulta
la estimación 0.308.
Incluye una gráfica que muestre los distintos tiempos de fallo junto al tiempo
esperado de fallo.
b) Realización de replicaciones.
Realizar todas las replicaciones posibles de este método tomando los vectores de
valores aleatorios U1 y U2 como las columnas consecutivas por parejas de la tabla 1.1.
La tabla 1.1. está contenida en el fichero Numeros.txt. Con los valores esperados de
cada serie calcula el valor esperado promedio y realiza una representación gráfica,
mostrando el resultado final. ( Y aqui te dan una tabla de 500numeros aleatorios de 25 filas y 20 columnas. Los numeros dados arriba corresponden a la fila 1 y 25 de la tabla)

Lo que llevo hecho hasta el momento es lo siguiente:

Using Toolbox Path Cache. Type "help toolbox_path_cache" for more info.

To get started, select "MATLAB Help" from the Help menu.

>> U=[16 82 39 86 86 73 07 32 72 35 12 82 87 21 30 30 60 53 89 92,
38 63 63 30 36 25 66 30 53 98 49 78 40 92 80 97 67 46 38 34];
>> tiempofallo=0;
>> n=20;
>> mu=[1 2];
>> for i=1:n

for j=1:2
x(i,j)= -log(1-(U(j,i)/100))/mu(j);
end
tiempofallo=tiempofallo + min(x(i,1),x(i,2));
end
>> tiempofEsperado=tiempofallo/n

tiempofEsperado =

0.3084

Lo que pasa es que no se como hacer la grafica que muestre los tiempos de fallo junto con el tiempo esperado. He pensado en meter dentro del segundo for, despues de realizada la operacion de la x, lo siguiente: subplot(221), bar(x)
pero la grafica que me muestra no se si es la correcta o no. Podeis echarme una mano??'

Aqui os dejo otro con el que aun no he podido empezar, por si me podeis aconsejar. Gracias

Ejercicio 1.3
La evolución de los precios de cierto tipo de pescado en función de un índice de
calidad del agua esta descrita a través de la función f(x) = x4/4 -17x3/36 + 5x2/24, para
un intervalo de x ∈ [-0.5,1.5]. Se desea encontrar la solución al problema de encontrar
el mínimo valor del pescado mediante el método de búsqueda aleatoria pura.
Necesitamos un procedimiento para generar valores aleatorios de x en el intervalo
[-0.5, 1.5]. Utilizar los incluidos en la tabla 1.1 que se encuentran en el fichero
Numeros.txt y transformar el valor u(i) mediante x(i)=-0.48+0.0198u(i).
Mostrar una gráfica de f(x) y marcar sobre ella los sucesivos valores mínimos que el
algoritmo vaya encontrando. Por último marcar con un símbolo ‘x’ el mínimo
encontrado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda ejercicios matlab

Publicado por el vio (1 intervención) el 23/06/2008 18:14:08
aweonaa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda ejercicios matlab

Publicado por maria del rosario jimenez (2 intervenciones) el 20/10/2008 21:40:14
FABRICANDO UN NUMERO PERFECTO

Se dice que un numero n es perfecto si la suma de todos sus divisores, salvo el mismo, coinciden con n. Por ejemplo, el numero 6 es un numero perfecto, ya que sus divisores son 1,2,3 y 6 y sumando 1+2+3 obtenemos 6. (notese que hemos sumado el 6). hacer un algortimo que decida si un numero dado es perfecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda ejercicios matlab

Publicado por maria del rosario jimenez (2 intervenciones) el 20/10/2008 21:40:17
FABRICANDO UN NUMERO PERFECTO

Se dice que un numero n es perfecto si la suma de todos sus divisores, salvo el mismo, coinciden con n. Por ejemplo, el numero 6 es un numero perfecto, ya que sus divisores son 1,2,3 y 6 y sumando 1+2+3 obtenemos 6. (notese que hemos sumado el 6). hacer un algortimo que decida si un numero dado es perfecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar