Sei sulla pagina 1di 11

Uso de Mathematica para

análisis de error y
elaboración de informes
Laboratorio de Física 1
Segundo Semestre de 2013
Docentes: Mauricio Suárez Durán; Christian Sarmiento
Cano
Escuela de Física - Facultad de Ciencias
Universidad Industrial de Santander
Los datos recopilados en el laboratorio estan organizados en tablas. Mathematica permite cargar y
manipular éstos datos bajo el concepto de matriz, es decir, cada renglón de la tabla, Mathematica lo
representa como una fila, y cada columna como la respectiva columna de la matriz. Ejemplo:
Suponga que tiene la siguiente tabla de datos:
Dist @cmD t1 @sD t2 @sD t3 @sD t4 @sD t5 @sD
140 3.0602 2.7998 2.774 2.7725 2.7718
120 2.4804 2.4895 2.4819 2.4824 2.4822
100 2.158 2.1615 2.162 2.1608 2.1589
80 1.8047 1.8071 1.8064 1.8017 1.8052

Donde t1, t2, t3, etc, representan, cada uno el registro del tiempo en que un determinado móvil recorrio
una cierta distancia (primer columna de la tabla). La forma en que debemos cargar estos datos en
Mathematica es la siguiente:
tabla1 = 8
8140, 3.0602, 2.7998, 2.774, 2.7725, 2.7718<,
8120, 2.4804, 2.4895, 2.4819, 2.4824, 2.4822<,
8100, 2.158, 2.1615, 2.162, 2.1608, 2.1589<,
880, 1.8047, 1.8071, 1.8064, 1.8017, 1.8052<
<;

Aquí, el primer y último corchete encierran todos los datos que estarán contenidos en tabla1, y los
corchetes siguientes encierran los datos contenidos en cada fila de tabla1. Esto quiere decir que la
primer fila de tabla1 contiene los tiempos registrados para la distancia de 140 cm. Para visualizar estos
datos como una tabla (o matriz), aplicamos la siguiente instrucción:

Printed by Wolfram Mathematica Student Edition


2 intro-mathematica.nb

Grid@tabla1, Frame ® AllD

140 3.0602 2.7998 2.774 2.7725 2.7718


120 2.4804 2.4895 2.4819 2.4824 2.4822
100 2.158 2.1615 2.162 2.1608 2.1589
80 1.8047 1.8071 1.8064 1.8017 1.8052

Supanga que queremos ver el tiempo del tercer registro (columna 4 de latabla1) para una distancia de
100 cm (fila 3 de latabla1), esto lo podemos hacer digitando lo siguiente :
tabla1@@3, 4DD
2.162

La anterior instrucción Mathematica la interpreta como imprimir el elemento que se encuentra ubicado
en la fila 3 y la columna 4. Una variante de la anterior instrucción, es la siguiente:
tabla1@@3, - 3DD
2.162

En este caso, Mathematica interpreta el -3 como la tercer columna contada de derecha a izquierda.
Ahora supunga que queremos que nos muestre los elementos que se ubican desde la columna 2 a la 5
de la fila 2. La instrucción que nos hacerlo es la siguiente:
tabla1@@2, 2 ;; 5DD
82.4804, 2.4895, 2.4819, 2.4824<

El doble punto y coma (;;) le dice a Mathematica que muestre todos los elementos que se ubican entre
la columna 2 y la 5. Una variante puede ser:
tabla1@@2, 2 ;; 6DD
82.4804, 2.4895, 2.4819, 2.4824, 2.4822<

Para los análisis de datos de los laboratorios es importante manipular los datos de éstas tablas, de tal
forma que nos permitan calcular promedios, realizar operaciones algebraicas entre columnas, gráficar
datos, etc. En el caso partícular de la tabla1, es importante conocer el tiempo promedio para cada
distancia, esto quiere decir que debemos calcular el promedio de los valores ubicados entre la columna
2 y la 6 para cada linea. Para el caso de la línea 2, podemos calcular el valor medio de la siguiente
forma:
Mean@tabla1@@2, 2 ;; 6DDD
2.48328

Como vemos, el comando Mean calcula el promedio de los valores ubicados en la línea 2, entre las
columnas 2 a la 6. Con los comandos vistos hasta el momento, podemos hacer una nueva tabla -a la
que llamaremos tabla2- que contenga dos columnas, distancia (columna 1 de la tabla1) y los prome-
dios respectivos. Mathematica puede hacer la tabla2 por medio de la siguiente instrucción:
tabla2 = Table@8tabla1@@i, 1DD, Mean@tabla1@@i, 2 ;; 6DDD<, 8i, 1, 4<D
88140, 2.83566<, 8120, 2.48328<, 8100, 2.16024<, 880, 1.80502<<

¿Qué fue lo que hicimos? Para crear la tabla2 usamos el comando Table y una iteración. El comando
Table permite construir tablas a partir de instrucciones que se repiten. En nuestro caso, la instrucción
que requerimos repetir fue el cálculo del valor medio para cada fila de la tabla1. Para esto le dijimos a
Mathematica que calculara el valor medio de cada fila i desde la columna 2 a la 6, donde i toma valores
de 1, 2, 3 y 4 (que es la instrucciónPrinted
contendia en el último
by Wolfram Mathematica parentésis: {i, 1, 4}). Un cálculo que se puede
Student Edition
hacer a partir de la tabla1, es la velocidad media para cada tramo recorrido, es decir, dividir cada valor
de la columna 1 entre el promedio de cada fila desde la columna 2 a la 6, de la tabla1. Mathematica
intro-mathematica.nb 3

¿Qué fue lo que hicimos? Para crear la tabla2 usamos el comando Table y una iteración. El comando
Table permite construir tablas a partir de instrucciones que se repiten. En nuestro caso, la instrucción
que requerimos repetir fue el cálculo del valor medio para cada fila de la tabla1. Para esto le dijimos a
Mathematica que calculara el valor medio de cada fila i desde la columna 2 a la 6, donde i toma valores
de 1, 2, 3 y 4 (que es la instrucción contendia en el último parentésis: {i, 1, 4}). Un cálculo que se puede
hacer a partir de la tabla1, es la velocidad media para cada tramo recorrido, es decir, dividir cada valor
de la columna 1 entre el promedio de cada fila desde la columna 2 a la 6, de la tabla1. Mathematica
puede hacer esta cuenta de manera sencilla, y en este caso vamos hacerlo, agregando una nueva
columna a la tabla2 de la siguiente manera:
tabla2 = Table@8tabla1@@i, 1DD, Mean@tabla1@@i, 2 ;; 6DDD,
tabla1@@i, 1DD  Mean@tabla1@@i, 2 ;; 6DDD<, 8i, 1, 4<D;

Que visualmente luce como


Grid@tabla2, Frame ® AllD

140 2.83566 49.3712


120 2.48328 48.3232
100 2.16024 46.2912
80 1.80502 44.3208

Como se puede ver, lo que hicimos fue agregar una nueva instrucción
(tabla1[[i,1]]/Mean[tabla1[[i,2;;6]]]) al comando Table, ejecudato previamente. Ésta nueva instrucción
divide el valor de la columna 1 entre el valor medio desde la columna 2 a la 6, para cada fila, respectiva-
mente. Con estas instrucciones, podemos agregar el número de columnas que queramos a nuestra
nueva tabla2. A continuación agregaremos una columna que contenga la siguiente operación: sqrt(|2X-
D|). Donde sqrt se entiende como raíz cuadrada, X es una constante que para nosotros será 20 y D
son los valores de distancia ubicados en la columna 1 de la tabla1.
La instrucción para hacer esto es la siguiente:
tabla2 = Table@
8tabla1@@i, 1DD, Mean@tabla1@@i, 2 ;; 6DDD,
tabla1@@i, 1DD  Mean@tabla1@@i, 2 ;; 6DDD,
N@Sqrt@Abs@H2 * 20L - tabla1@@i, 1DDDD, 3D<, 8i, 1, 4<D;
Grid@tabla2, Frame ® AllD
140 2.83566 49.3712 10.0
120 2.48328 48.3232 8.94
100 2.16024 46.2912 7.75
80 1.80502 44.3208 6.32

Es de notar que la instrucción para sqrt(|2X-D|), incluye el número 3 al final. Éste número representa la
presición con la que deseamos calcular esta raíz cuadrada. Por ejemplo, si calculamos este valor para
la cuarta fila (80cm) entonces la instrucción queda de la forma,
N@Sqrt@Abs@H2 * 20L - tabla1@@4, 1DDDD, 3D
6.32

Finalmente, vamos a insertar una fila que contenga la etiqueta que explica qué es el valor ubicado en
cada columna. Para esto primero debemos crear una matriz de 1x4 con las respectivas etiquetas, y
luego insertar ésta matriz en la primera fila de latabla2.Es importante anotar que al agregar esta matriz
debemos crear una nueva tabla, que la llamaremostabla3. Entonces,

Printed by Wolfram Mathematica Student Edition


4 intro-mathematica.nb

etiquetas =
8"Dist @cmD", "t-prom @sD", "V-prom @cmsD", "A=sqrtHÈ2X-DÈL @cm^H12LD"<;

Posteriormente, insertamos la matriz etiquetas a la tabla2:


tabla3 = Insert@tabla2, etiquetas, 1D;
Grid@tabla3, Frame ® AllD
Dist @cmD t-prom @sD V-prom @cmsD A=sqrtHÈ2X-DÈL @cm^H12LD
140 2.83566 49.3712 10.0
120 2.48328 48.3232 8.94
100 2.16024 46.2912 7.75
80 1.80502 44.3208 6.32

El comando Insert de Mathematica, me permite agregar matrices de 1x4 en cualquier fila de la tabla2,
donde la fila en la que se desea insertar es especifica en la última instrucción, en nuestro caso el
número 1.

2. Gráficas, barras de error y ajustes.


2.1 Gráficas
A partir de la información de la tabla3, graficaremos la distancia recorrida (columna 1), como función
del tiempo promedio (columna 2). Para esto debemos escribir lo siguiente:

Printed by Wolfram Mathematica Student Edition


intro-mathematica.nb 5

Show@ListPlot@Table@8tabla3@@i, 1DD, tabla3@@i, 2DD<, 8i, 2, 5<D,


GridLines ® Automatic,
PlotStyle ® 8PointSize@0.02D, Red<D,
Frame ® True,
BaseStyle ® 8FontWeight ® "Bold", FontSize ® 18<,
ImageSize ® Large,
PlotLabel ® "Tiempo promedio como función de la distancia recorrida",
FrameLabel ® 8"Distancia @cmD", "Tiempo promedio @sD"<
D

Tiempo promedio como función de la distancia recorrida


2.8

2.6
Tiempo promedio @sD

2.4

2.2

2.0

1.8
80 90 100 110 120 130 140
Distancia @cmD
Es importante notar que todas las gráficas deben lucir como ésta. Deben tener un título y nombre en
los ejes con sus respectivas unidades. Es importante revisar línea por línea las instrucciones que dicen
a Mathematica como hacer este tipo de gráfica.

2.2 Barras de error


Toda medición tiene un error implicito. La tabla tabla3 no contiene información sobre los errores de las
mediciones. Lo que viene a continuación es cómo construir una nueva tabla (tabla4) que contenga los
respectivos errores. Para el caso de los tiempos vamos a suponer que el error esta dado por la
desviación estándar de los datos, y para las longitudes un error de 0.1cm, que representa la sensibili-
dad del instrumento de medición.
Para construir la tabla4, primero debemos calculamos la desviación estandar de los tiempos medidos
para cada distancia (o cada fila de la tabla1), y almacenarlos en la variable errortiempos. Para esto
escribimos:

Printed by Wolfram Mathematica Student Edition


6 intro-mathematica.nb

errortiempos = Table@8StandardDeviation@tabla1@@i, 2 ;; 6DDD<, 8i, 1, 4<D


880.126069<, 80.00356469<, 80.00171843<, 80.00208495<<

Con esto, ya tenemos una matriz de 4x1 que contiene los errores para cada fila de la tabla3. Ahora,
vamos a crear la tabla4 que contenga esta información. Primero, vamos a modificar la tabla2, haciendo
uso de las instrucciones con las que creamos la tabla2 y la tabla3.
tabla2 = Table@
8tabla1@@i, 1DD, 0.1, Mean@tabla1@@i, 2 ;; 6DDD,
errortiempos@@i, 1DD, tabla1@@i, 1DD  Mean@tabla1@@i, 2 ;; 6DDD,
N@Sqrt@Abs@H2 * 20L - tabla1@@i, 1DDDD, 3D<, 8i, 1, 4<D;

etiquetas2 = 8"Dist @cmD", "Error Dist @cmD", "t-prom @sD",


"Error tiempo @sD", "V-prom @cmsD", "A=sqrtHÈ2X-DÈL @cm^H12LD"<;

tabla4 = Insert@tabla2, etiquetas2, 1D;

Grid@tabla4, Frame ® AllD

Dist @cmD Error t-prom @sD Error V-prom @cmsD A=sqrtHÈ2X-DÈL


Dist @cmD tiempo @sD
@cm^H12LD
140 0.1 2.83566 0.126069 49.3712 10.0
120 0.1 2.48328 0.00356469 48.3232 8.94
100 0.1 2.16024 0.00171843 46.2912 7.75
80 0.1 1.80502 0.00208495 44.3208 6.32

Teniendo la tabla4, lo siguiente que vamos a hacer es graficar el tiempo promedio como función de la
distancia recorrida, con las respectivas barras de error. Para este paso es importante agregar la sigu-
iente instrucción:
Needs@"ErrorBarPlots`"D;

Esta línea le dice a Mathematica que reconozca los comando y/o instrucciones referentes a la repre-
sentación de la barras de error, que serán utilizadas para la presentación de gráficas. Con esta línea
incluida, procedemos a realizar la respectiva gráfica:

Printed by Wolfram Mathematica Student Edition


intro-mathematica.nb 7

Show@ListPlot@Table@8tabla4@@i, 1DD, tabla4@@i, 3DD<, 8i, 2, 5<D,


PlotStyle ® 8PointSize @0.01D, Red<
D,
ErrorListPlot@
Table@88tabla4@@i, 1DD, tabla4@@i, 3DD<, ErrorBar@tabla4@@i, 4DDD<,
8i, 2, 5<D
D,
Frame ® True,
BaseStyle ® 8FontWeight ® "Bold", FontSize ® 18<,
ImageSize ® Large,
PlotRange ® 8875, 145<, 81.5, 3.5<<,
AxesOrigin ® 875, 1.5<,
PlotLabel ® "Tiempo promedio como función de la distancia recorrida",
FrameLabel ® 8"Distancia @cmD", "Tiempo promedio @sD"<
D

Tiempo promedio como función de la distancia recorrida


3.5

3.0
Tiempo promedio @sD

2.5

2.0

1.5
80 90 100 110 120 130 140
Distancia @cmD
En este caso, los errores en los tiempos para las distancias de 80, 90, 100, 110 y 120 cm son más
pequeños que el tamaño del punto estamos usando para graficar. Sin embargo, para la distancia de
140 cm la barra de error es apreciable.

2.3 Ajustes
Lo más importante de la experimentación, es encontrar el modelo matemático (ecuación) que describa
el comportamiento de los datos. En nuestro caso partícular, vamos a buscar un modelo matemático de
tipo lineal. Para esto, Mathematica cuanta con la instrucción LinearModelFit. Ésta instrucción usa el
método de minímos cuadrados para buscar la recta que más se aproxima a los datos. Para esto escribi-
mos la siguiente:

Printed by Wolfram Mathematica Student Edition


Lo más importante de la experimentación, es encontrar el modelo matemático (ecuación) que describa
8 intro-mathematica.nb
el comportamiento de los datos. En nuestro caso partícular, vamos a buscar un modelo matemático de
tipo lineal. Para esto, Mathematica cuanta con la instrucción LinearModelFit. Ésta instrucción usa el
método de minímos cuadrados para buscar la recta que más se aproxima a los datos. Para esto escribi-
mos la siguiente:
modelolineal = LinearModelFit@
Table@8tabla4@@i, 1DD, tabla4@@i, 3DD<, 8i, 2, 4<D, x, x
D

FittedModelB 0.4668 + 0.0168855 x F

Como vemos, la variable modelolineal contiene el ajuste que realiza Mathematica por minímos cuadra-
dos a travéz de la instrucción LinearModelFit. Ahora, para visualizar correctamente la forma el modelo
lineal, escribimos lo siguiente:
Normal@modelolinealD
0.4668 + 0.0168855 x

A partir de esta información, graficaremos los datos de tiempo promedio como función de la distancia
recorrida y el modelo lineal encontrado por Mathematica,

Printed by Wolfram Mathematica Student Edition


intro-mathematica.nb 9

Show@ListPlot@Table@8tabla4@@i, 1DD, tabla4@@i, 3DD<, 8i, 2, 5<D,


PlotStyle ® 8PointSize @0.01D, Red<
D,
Plot@8modelolineal@"BestFit"D<, 8x, 75, 145<D,
ErrorListPlot@
Table@88tabla4@@i, 1DD, tabla4@@i, 3DD<, ErrorBar@tabla4@@i, 4DDD<,
8i, 2, 5<D
D,
Frame ® True,
BaseStyle ® 8FontWeight ® "Bold", FontSize ® 18<,
ImageSize ® Large,
PlotRange ® 8875, 145<, 81.5, 3.5<<,
AxesOrigin ® 875, 1.5<,
PlotLabel ® "Tiempo promedio como función de la distancia recorrida",
FrameLabel ® 8"Distancia @cmD", "Tiempo promedio @sD"<
D

Tiempo promedio como función de la distancia recorrida


3.5

3.0
Tiempo promedio @sD

2.5

2.0

1.5
80 90 100 110 120 130 140
Distancia @cmD
Es importante notar que para gráficar modelolinal agregamos el argumento “BestFit”. Mathematica
puede ajustar diferentes modelos matemáticos a los datos. Por ejemplo, y solo a manera de ilustración,
podemos buscar por un modelo parabólico:

Printed by Wolfram Mathematica Student Edition


10 intro-mathematica.nb

modeloparabolico = LinearModelFit@
Table@8tabla4@@i, 1DD, tabla4@@i, 3DD<, 8i, 2, 4<D,
8x ^ H2L<, x
D

FittedModelB 1.46231 + 0.0000702785 x2 F

Note quel a instrucción {1,x^(2)},x determina el tipo de modelo que queremos ajustar a los datos. Ahora
vamos a ver como quedan graficados, juntos, estos dos modelos:
Show@ListPlot@Table@8tabla4@@i, 1DD, tabla4@@i, 3DD<, 8i, 2, 5<D,
PlotStyle ® 8PointSize @0.01D, Red<
D,
Plot@8modelolineal@"BestFit"D, modeloparabolico@xD<, 8x, 75, 145<D,
ErrorListPlot@
Table@88tabla4@@i, 1DD, tabla4@@i, 3DD<, ErrorBar@tabla4@@i, 4DDD<,
8i, 2, 5<D
D,
Frame ® True,
BaseStyle ® 8FontWeight ® "Bold", FontSize ® 18<,
ImageSize ® Large,
PlotRange ® 8875, 145<, 81.5, 3.5<<,
AxesOrigin ® 875, 1.5<,
PlotLabel ® "Tiempo promedio como función de la distancia recorrida",
FrameLabel ® 8"Distancia @cmD", "Tiempo promedio @sD"<
D

Tiempo promedio como función de la distancia recorrida


3.5

3.0
Tiempo promedio @sD

2.5

2.0

1.5
80 90 100 110 120 130 140
Distancia @cmD
Finalmente, es importante conocer el error del ajuste que realizar Mathematica a nuestros datos. Para
esto
Printed by Wolfram Mathematica Student Edition
intro-mathematica.nb 11

Finalmente, es importante conocer el error del ajuste que realizar Mathematica a nuestros datos. Para
esto
modelolineal@"ANOVATable"D
modeloparabolico@"ANOVATable"D

DF SS MS F-Statistic P-Value
x 1 0.228096 0.228096 1589.82 0.015963
Error 1 0.000143473 0.000143473
Total 2 0.22824

DF SS MS F-Statistic P-Value
x2 1 0.228119 0.228119 1889.56 0.0146428
Error 1 0.000120726 0.000120726
Total 2 0.22824

Printed by Wolfram Mathematica Student Edition

Potrebbero piacerti anche