Zurita Alonso Juan Pr Ctica 2 1

Páginas: 12 (2847 palabras) Publicado: 9 de abril de 2015
 Laboratorio de Computación Científica Curso 2014-15

PRÁCTICA 2. Ajuste e interpolación

Alumno: Juan Zurita Alonso

Sección 1. Generación de números aleatorios.

Copia el siguiente código de matlab en un fichero .m , ejecútalo ycomprueba que entiendes lo que hace. Mira en el help de matlab la función rand y la función randn

%%%%%%% Uso de rand para la generación de números aleatorios %%%%%%%%%%%%%%%%%%

%Guardamos el estado actual del generador de números aleatorios esto nos permitirá reproducir la %misma secuencia de números aleatorios siempre que queramos
semilla=rand('twister')
%Generamos un vector de cinco númerosaleatorios en el intervalo (0,1)
s1=rand(1,5)
%Generamos un nuevo vector de números aleatorios, deben ser distintos de
%los obtenidos en s1
s2=rand(1,5)
%Volvemos a reiniciar el generador de números aleatorios
rand('twister',semilla)
%Si generamos una nuevo vector de números aleatorios, será igual que s1
s3=rand(1,5)

%Podemos reinicializar el generador de números aleatorios, empleando como semilla unvalor %entero cualquiera comprendido entre (0 y 2^32-1), es decir utiliza un registro de 32 bits para %inicializar el generador:
%Ejemplo, reiniciamos el generador con semillas 0,5,10...25) y generamos una matriz de números %aleatorios (cada fila está generada con una semilla distinta y contiene cinco números aleatorios.
aleatoria=[]
for i=0:5:25
rand('twister',i)aleatoria=[aleatoria;rand(1,5)]
end

%Si reiniciamos empleando cualquiera de las semillas anteriores (i), podremos reproducir los %números de la fila correspondiente de la matriz aleatoria. reproducimos los de cuarta fila
rand('twister',15)
fila4=rand(1,5)

%matlab tiene otros dos métodos para generar números aleatorios:
% rand('state',s) Funciona a partir de la versión 5 de matlab
% rand('seed',s) Funciona en todaslas versiones de matlab. Es el más antiguo de todos.


1. Emplea el comando rand para generar un vector de 10000 números aleatorios. Emplea el comando randn para generar otro vector de 10000 números aleatorios. Usa el comando hist dibuja los histogramas de de los vectores generados. Explica los resultados.




r=rand(1,10000);n=randn(1,10000);

subplot(1,2,1), hist(r),title('rand');
subplot(1,2,2),hist(n),title('randn');




El comando rand genera un número aleatorio comprendido entre 0 y 1, y hay las mismas probabilidades de que toque cada uno de los resultados posibles. Por eso, si se repite suficientes veces el histograma debería ser prácticamente plano Sin embargo, el comando randn devuelve un número (positivo o negativo) siguiendo una distribución normal centrada en 0, esto es, es másprobable que devuelva un número cuanto más cercano a 0 esté. El histograma sigue la llamada campana de Gauss característica de las distribuciones normales.


2. Vamos a emplear el generador de números aleatorios de matlab para calcular el número . Observa el dibujo de la figura, representa un cuadrado de lado 1 metro en el que aparece inscrito un cuarto de circunferencia de radio 1 metro.Supongamos que generamos puntos aleatorios dentro del cuadrado de lado 1 metro. Para ello, generamos las coordenadas x e y del punto, empleando la función rand de matlab.

Si el punto generado está dentro de la circunferencia cumplirá, si por el contrario está fuera, . Si generamos suficientes puntos, el número de los caen dentro del cuarto de circunferencia frente al número total de puntos generados,estará en la misma relación que el área del cuarto de círculo, frente al área del cuadrado:

Luego obtenemos el número pi como,

Realiza un programa en matlab que aproxime iterativamente el valor de , empleando el sistema descrito:
Genera un punto aleatorio
Comprobar si está dentro del cuarto de círculo
Estimar el valor de  con los puntos calculados hasta esa iteración
El programa deberá...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • PR CTICA N 1 2
  • Pr Ctica Dirigida 1 IO1 2
  • Pr Ctica 1 Org Nica 2
  • Pr ctica 2 II A EQUIPO 1
  • Pr Ctica 2 Termo
  • Pr ctica 2
  • PR CTICO DE FUNDAMENTOS 2
  • Pr Ctica 2

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS