Anda di halaman 1dari 16

Trabajo Prctico Final

Grupo:02.
Integrantes: Malena Narbebury; Barbara Garcia.
Fecha de entrega: Lunes 10 de julio hasta 9:00 AM.
1) Un imn es un dipolo magntico y el campo producido en un punto z es de la forma B = k /zn . Queremos
determinar el exponente n y el coeficiente k, para ello medimos con el sensor de campo magntico, el campo
B, producido por el imn en varias posiciones z. Experimentalmente se han realizado los siguientes
resultados:

z (cm) 5 6 7 8 9 10 11

B (gauss) 27 15 9.7 6.2 4.4 3.3 2.6

a) Crear un archivo dipolo.csv que contenga las mediciones que aparecen en la tabla.

En este cdigo, en primer lugar, creamos dos vectores vacos, donde vamos a volcar los datos de la tabla, tanto
"cm" como "gauss". Luego con el comando 'fopen' abrimos el determinado archivo que vamos a crear,
explicandos se crear un archivo para poder escribirlo. Por ltimo, volcamos los datos de la tabla que nos
dieron en los dos vectores anteriormente creados, e iniciamos un 'ciclo for' que va a recorrer desde el lugar uno
del vector hasta el sptimo lugar y con 'fprintf' vamos a volcar esa informacin en nuestro nuevo archivo, tanto
los cm como gauss, detallando el formato de los nmeros ('d' para los nmeros enteros; y 'f' para los nmeros
no enteros).

B) Implementar una funcin Matlab Coef-Magn.m que dado un archivo con mediciones como las de la tabla
anterior, devuelva los valores k y n. Dicha funcin deber implementar el clculo de dichos parmetros
realizando una linealizacin de la ecuacin terica de campo magntico y realizando el respectivo ajuste de
curva. Adems, la funcin deber dibujar en una misma figura la recta de ajuste con los valores usados y la
curva terica con los datos de tabla:

La funcin me devuelve los valores k y n escritos en un vector:


Imagen de la recta de ajuste y la curva terica:

Implementar otra funcin intens-magn.m que dado un nombre de archivo con mediciones como las de la
tabla anterior y un valor numrico correspondiente a una distancia, devuelva la intensidad del campo en
dicho punto usando la ecuacin terica de campo magntico que se genera con los valores k y n calculados
por la funcin anterior

Le paso a esta funcin el archivo anteriormente creado y un nmero (3) que va a equivaler a la distancia que yo
quiero calcular para que me devuelva la intensidad en dicho punto, y lo guardo en una variable "R"
Programar una funcin que tenga como parmetro de entrada el nombre de un archivo .csv, y que realice,
para los datos del archivo dado, un ajuste de curvas polinomiales de orden 1,2,3,4,5 y por Spline cbicas,
produciendo un nico grfico con las seis curvas perfectamente identificadas y destacando los puntos que
representan los datos originales. En particular usar esta funcin sobre el archivo dipolo.csv y comparar el
resultado con lo resuelto en el punto anterior.

2) La mquina de Galton es un dispositivo inventado por sir Francis Galton (1822-1911) para demostrar el
Teorema del Lmite Central, en particular que la distribucin binomial es una aproximacin de la distribucin
normal. Dicha mquina consta de un tablero vertical con varias filas de clavos. Las bolitas caen desde la parte
superior, chocando con los clavos y desvindose, en forma aleatoria, hacia la izquierda o hacia la derecha,
con probabilidad uniforme, depositndose en los casilleros de la parte inferior. Si dejamos caer una cantidad
significativa de bolitas, se logra probar que siempre hay ms chances de caer en la zona central que, en los
bordes, formndose la campana de Gauss.

Este ejercicio consiste en simular la mquina de Galton y comprobando experimentalmente que puede
formarse una campana de Gauss. Para eso:

a) Escribir una funcin function [c] = Galton(m,n) que simule un camino aleatorio de arriba abajo para una
sola bolita, comenzando por la columna central de la primera fila. Las variables m y n indican las dimensiones
de la matriz sobre la que se trabajara. El valor de salida c indica la columna donde la bolita simulada alcanz
la fila m (borde inferior de la matriz). La simulacin comienza sobre el punto (1, floor(n/2)) (centro del borde
superior de la matriz). A cada paso, la bolita avanza una fila hacia la abajo y una columna hacia la derecha o
izquierda en forma aleatoria con distribucin uniforme. Si algn momento la columna es negativa o super el
valor n, se asumir que la bolita sali del tablero y el valor de c ser igual a -1. A modo de gua, expresamos el
siguiente seudocdigo para la funcin:

Crear la matriz de mxn con e l punto inicial de la caminata en la f i la 1 , columna floor ( n / 2 ) while ( no se
llegue al borde inferior o no se haya salido lateralmente) Generar la nueva posicin ( i , j ) ( ) end F in del
ciclo Retornar el valor c (*) donde i es la siguiente fila y j se elige al azar entre la columna de la derecha, o de
la izquierda (de la posicin anterior) con distribucin uniforme (cuidando de chequear si se sale o no de la
matriz)

Le paso a la funcin una matriz de 4 filas y 5 columnas en la cual se va a mover la bolita y me devuelve el valor
"2" que es la columna en la cual la bolita alcanzo la ltima fila de la matriz, en este caso la fila 4.

b) Realizar una funcin function V =MaquinaGalton(m,n,p) que, usando la funcin anterior, simule la tirada
de muchas bolitas. En este caso, m y n son las dimensiones de la matriz donde se movern las bolitas, p es la
cantidad de bolitas que se arrojan desde arriba y V es un vector de dimensin n, donde en cada posicin se
guardara la cantidad de bolitas que cayeron all, de modo tal que si tenemos: V=[3 5 6 10 20 22 25 23 21 15 4
1 0] V(1) indica que hay 3 bolitas que cayeron en la columna 1 de la matriz de mxn, V(2) indica que cayeron 5
bolitas en la columna 2 y as siguiendo. Los valores -1 que devuelva la funcin Galton sern ignorados (i.e. no
aparecen en ese vector). Graficar usando la herramienta adecuada de modo que se visualice la campana de
Gauss.

Le paso a la funcin una matriz de 4 filas y 5 columnas, y en ltimo lugar la cantidad de bolitas que voy a
arrojar; la misma me devuelve un vector "V" que me indica: V(1) hay 0 bolitas que cayeron en la columna 1;
V(2) hay 2 bolitas que cayeron en la columna 2;V(3) hay 1 bolita que cay en la columna 3; y as siguiendo.
C) Pruebe realizando varios experimentos, con matrices de diferentes tamaos, aumentando de a poco la
cantidad de filas o la cantidad de bolitas y comparar resultados. Haga un breve informe de los resultados
obtenidos.
En el primer intento, que guardamos en la variable "V" en una matriz de 30 filas y 40 columnas, arrojamos 1000
bolitas, y nos devolvi en cada columna la cantidad de bolitas que quedaron atascadas all, la funcin en vez de
devolver, en este caso, un vector, nos devolvi una matriz con los datos de cada una de las columnas.

Anda mungkin juga menyukai