39
GRADO EN QUÍMICA POR LA UNIVERSIDAD DE SANTIAGO DE COMPOSTELA MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

Embed Size (px)

Citation preview

Page 1: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

GRADO EN QUÍMICA POR LA UNIVERSIDAD DE SANTIAGO DE

COMPOSTELA

MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

Page 2: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

CONTENIDOS

1. NORMAS GENERALES DE TRABAJO Y SEGURIDAD EN EL LABORATORIO.

2. INSTRUCCIONES-GUIÓN DE LOS PUESTOS INSTRUMENTALES CORRESPONDIENTES A CADA SESIÓN

3. INTRODUCCIÓN A LA TÉCNICA DE REGRESIÓN LINEAL

4. MATERIAL INFORMÁTICO DE APOYO (LABFISUSC)

•NOTA GENERAL IMPORTANTE En las clases de laboratorio de esta asignatura, que se desarrollarán en la facultad de física de la USC, se alternarán actividades instrumentales con la realización de cálculos relacionados con ellas. Los alumnos tendrán que presentar por escrito sus resultados, para su evaluación, al final del día o en la sesión siguiente.

Page 3: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

1. NORMAS GENERALES DE TRABAJO Y SEGURIDAD EN EL LABORATORIO

- Los alumnos deberán presentarse en la fecha, hora y lugar que se les cite, y con el material que se les solicite. Aún sin ser obligatorio, el alumno puede encontrar útil llevar su propio ordenador portátil, equipado con el material informático de apoyo al que se hace referencia en este mismo manual. Los alumnos deberán presentarse a cada sesión de laboratorio habiendo leído y trabajado el presente manual. Desde el inicio hasta el final de la práctica el alumno se responsabilizará de su puesto de trabajo así como del material allí presente. Está prohibido sacar material o productos fuera del laboratorio. Los materiales e instrumental que sean de uso compartido y tengan una ubicación determinada sólo deberán ser utilizados en dicho lugar. La salida del laboratorio es libre si se trata de ausencias breves (ir al servicio etc.). Si se acaba la práctica antes de la hora final programada para la clase, debe consultarse con el profesor antes de dar por realmente finalizada la práctica. Notifique al profesor cualquier rotura o deterioro que sufra el material. Los servicios de prevención de riesgos laborales no han identificado riesgos específicos para los laboratorios de Física de esta asignatura. Aún así deberán guardarse las medidas de seguridad genéricas en entornos laborales y públicos. - El uso de bata o gafas de seguridad no es obligatorio. Las sustancias más corrosivas que se programa usar en este laboratorio son acetona de baja concentración (tipo disolvente de uñas) y alcohol farmacéutico.

Page 4: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

2. INSTRUCCIONES-GUIÓN DE LOS PUESTOS INSTRUMENTALES

Page 5: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

Listado de prácticas y puestos instrumentales correspondientes: - Fuerzas y sus efectos-I Instrumental específico: Picnómetros. Palabras clave de las temáticas que se tratarán: Cifras significativas. Unidades. Medias. Diferencias entre masa y peso. Balances de fuerzas. Densidades. Fuerza de empuje (estática, dinámica). - Fuerzas y sus efectos-II Instrumental específico: Carril neumático. Palabras clave de las temáticas que se tratarán: Descomposición de las fuerzas en términos de sus componentes cartesianas. Ángulos y proyecciones en problemas de estática. Proyección de fuerzas sobre ejes y sobre otras fuerzas, y en términos de sus ángulos. Momentos de fuerzas. Balances de fuerzas. Movimento uniforme lineal. Movimiento uniformemente acelerado lineal. - Movimiento oscilatorio-I Instrumental específico: Muelles. Palabras clave de las temáticas que se tratarán: Obtención de las características principales de un movimiento oscilatorio: Frecuencia, periodo, amplitud. Dependencia de la frecuencia del péndulo simple con su longitud. Energía del muelle. Energía del péndulo. - Movimiento oscilatorio-II Instrumental específico: Péndulo de Káter. Palabras clave de las temáticas que se tratarán: Obtención de la aceleración gravitatoria mediante cálculo simple y mediante regresión lineal. Momento de inercia del péndulo físico, y en sistemas discretos. - Movimiento y rotaciones de cuerpos rígidos-I Instrumental específico: Rueda de Maxwell. Palabras clave de las temáticas que se tratarán: Momento de inercia de la rueda de Maxwell. Energía cinética de translación. Energía cinética de rotación. Conservación de la energía en sólidos rígidos. - Movimiento y rotaciones de cuerpos rígidos-II Instrumental específico: Sólidos rígidos en resorte de torsión. Palabras clave de las temáticas que se tratarán: Momentos de inercia de distintos sólidos rígidos. Movimiento oscilatorio de sólidos rígidos, y sus energías.

Page 6: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

- Fuerzas y sus efectos-I Instrumental específico: Picnómetros.

a)Densidaddesólidos

ms=mpicn+agua+sól‐mpicn+agua

Vs maguadesalojada

agua

mpicnaguasol m'picnaguasól

agua

Conloque s mpicnaguasol mpicnagua

mpicnaguasol mpicnaguasol'

agua

b)Densidaddelíquidos

magua=mpicn+agua‐mpicn

Vpicn=magua/agua

ml=mpicn+liq‐mpicn

Vl Vpicn mpicnagua mpicn

agua

Conloque l mpicnliq mpicn

mpicnagua mpicnagua

Page 7: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

c) Medida de la viscosidad

El coeficiente de viscosidad o viscosidad dinámica, , se define como la fuerza

por unidad de área necesaria para mantener un gradiente de velocidad unidad entre dos

planos paralelos de un fluido situados a distancia unidad. La unidad de viscosidad en el

sistema SI es el Pascal-segundo (=Pa s=kg/ms=N/m2). En el CGS es el poise. (A

menudo se define también la viscosidad cinemática, , como el cociente entre la

viscosidad dinámica y la densidad del fluido; su unidad en el sistema SI es el m2/s y en

el CGS el stokes o cm2/s).

El coeficiente de viscosidad de un líquido es inversamente proporcional a su

velocidad de caída por un capilar y, por lo tanto, es directamente proporcional al tiempo

empleado en esa caída:

= K· · tiempo

donde es la densidad del fluido. Conociendo el coeficiente de viscosidad del agua a la

temperatura de trabajo podemos determinar la constante K del viscosímetro midiendo el

tiempo que tarda el agua en recorrer la distancia que hay entre las dos marcas del

viscosímetro. Podremos medir la viscosidad de cualquier liquido a la temperatura de

trabajo una vez determinada esta constante, si conocemos la densidad del líquido.

NOTA: La del agua a 20ºC es de 10-3 Pa s (= 0.01 poise =1 cP, o 'centipoise'). A otras

temperaturas: ln (��º�) = (1.2348(20ºC -T) - 0.001467(T-20ºC)2) / (T+96ºC)

Primero se calibra el viscosímetro con agua destilada, para determinar la constante de

proporcionalidad K, y a continuación se determina el tiempo de caída, y la viscosidad

dinámica, para los líquidos problema. Para ello es necesario haber medido antes las

densidades de esos líquidos problema.

Page 8: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

- Fuerzas y sus efectos-II Instrumental específico: Carril neumático.

1.‐Movimientorectilíneouniforme

Selanzaelvehículoutilizandoeldisparadordelcarril.Sepreparalatablax‐

v‐t.Lavelocidadsedeterminamediantet

lv

,dondetseleeenlapropia

puerta. Del ajuste de x frente a t se deduce también la velocidad, como

pendientedelarecta.x=vt

x  v  t 

‐‐  ‐‐  ‐‐ 

‐‐  ‐‐  ‐‐ 

‐‐  ‐‐  ‐‐ 

Selastraelvehículocon

distintasmasasenél,

parahacervariasgráficas.

Page 9: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

2.‐Movimientouniformementeacelerado

Se deja que el vehículo sea empujado por un peso que se conecta a él a

través de un hilo y una polea, que se consideran ideales (sin masa,

estiramientos ni rozamientos). Se prepara la tabla x‐v‐t. La velocidad se

determinamediantet

lv

,dondetseleeenlapropiapuerta.Lavelocidad

inicial,v0,sedeterminapordiferenciadetiempos,invirtiendolamedidadel

contador.Delajustedelacurvax=v0t+at2/2seobtienelaaceleración,a,yde

nuevotambiénlavelocidadinicial,v0.

x  v  t 

‐‐  ‐‐  ‐‐ 

‐‐  ‐‐  ‐‐ 

‐‐  ‐‐  ‐‐ 

Siseajustalarectav=v0+atsedeterminatambiénv0ya.

Por último representando v2 frente a 2x, de acuerdo con la ecuación

axvv 220

2 se

obtienedenuevov0y

a. Finalmente, de las

ecuacionesdinámicas

del movimiento, se

deduce que

21

2

mm

gma

.

Comparar.elvalorexperimentaldeaconesteúltimocalculadoteoricamente.

Selastraelvehículocondistintasmasasenél,parahacervariasgráficas.

Page 10: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

- Movimiento oscilatorio-I Instrumental específico: Muelles.

A) Determinacióndekporelmétodoestático

Teniendo en cuenta que F=kx, siendo F

lafuerzaaplicadaalextremodelmuelle,y

x la deformación que experimenta éste,

se prepara, para distintas masas

suspendidas,latablasiguiente:

F  x 

‐‐  ‐‐ 

‐‐  ‐‐ 

‐‐  ‐‐ 

Ajustandopormínimoscuadrados larectaF‐x, sedetermina laconstante

elásticadelmuelle,k.

Page 11: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

B) Determinacióndekporelmétododinámico

Si hacemos oscilar el muelle con una masa suspendida m en torno a su

posicióndeequilibrio,elperiododeoscilaciónvienedadopor kmT 2 .

m  T 

‐‐  ‐‐ 

‐‐  ‐‐ 

‐‐  ‐‐ 

A partir de la tabla de valores m‐T, y ajustando por mínimos

cuadradoslarectadeecuaciónk

mT 22 4 ,sedeterminalaconstantek.

Page 12: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

C)Determinacióndedensidades

1)Sólidos

Comokx=msg,delafunciónF=kxse

deter‐minaparaesevalordexlamasa

delsólido,ms.

ms kx

g

Delafigurasededuce:

kx'+E=msg=kx, y como E=aguaVsg,

resulta

kx'+aguaVsg= kx Vs k(x x')aguag

,

conloque

s x

x x'agua

2)Líquidos

Delafigurasededuce:

kx''+E'=msg=kx, y como E'=lVsg,

resulta

l k(x x' ')

Vsg , y teniendo en cuenta

elvalordeVs,queda

l x x' 'x x'

agua

Page 13: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

- Movimiento oscilatorio-II Instrumental específico:

Péndulo de Káter.

Elperiododeunpéndulofísicodemasamqueoscilaalrededordesu

centrodesuspensión.O,vienedadopormgh

IT 2 ,dondeIeselmomento

deinerciadelcuerporespectoalejedeoscilaciónquepasaporO,yhesla

distanciadesdeOalcentrodemasasdelcuerpo,G(verfigura).

Page 14: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

Supongamos ahora un péndulo físico como el de la figura, péndulo

reversible que puede oscilar alrededor de O1 y de O2, con periodos

respectivosT1 yT2, siendoh1 yh2 lasdistancias aGdesde cada centrode

oscilaciónrespectivo.Podemosentoncesescribir

1

11 2

mgh

IT y

2

22 2

mgh

IT .ElteoremadeSteinerpermiteescribir

211 mhII G y I2 IG mh2

2.SisustituimosestosvaloresdeI1eI2enT1yT2,

yoperamos,llegamosalaexpresión h12 h2

2 g

4 2(T1

2h1 T22h2) .

VariandolospuntosdesuspensiónO1yO2,vamosobteniendovalores

respectivos de T1 y T2, haciendo oscilar al péndulo alternativamente

respectodeO1yO2,preparandolatabladevalorescorrespondiente

h1  T1  h2  T2 

‐‐‐  ‐‐‐  ‐‐‐  ‐‐‐ 

‐‐‐  ‐‐‐  ‐‐‐  ‐‐‐ 

‐‐‐  ‐‐‐  ‐‐‐  ‐‐‐ 

‐‐‐  ‐‐‐  ‐‐‐  ‐‐‐ 

Si ahora se representa 22

21 hh frente a 2

221

21 hThT se obtiene una

linearecta,decuyapendiente, 24g ,obtenemoselvalorde laaceleración

delagravedad,g.

Page 15: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

- Movimiento y rotaciones de cuerpos rígidos-I Instrumental específico: Rueda de Maxwell.

TeniendoencuentaqueE=Ep+Ec=constante,la

conservacióndelaenergíamecánicadeldisco

ent=0yent=t,estoes,

Et=0=Et=t,conducea:

222

2222

2

1

2

1

2

1

2

1

2

1v

r

Im

r

vImvImvmgx

donder

v ,siendorelradiodelavarilla.Siderivamosrespectoaltiempo

laexpresiónanterior,resulta

dt

dvv

r

Im

dt

dxmg

2,ycomo v

dt

dx ,quedafinalmenteintegrando

v mg

m I

r2

t ,ycomodt

dxv ,integrandodenuevo,resulta x

12

mg

m I

r2

t2

Page 16: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

Preparada la tabla x‐v‐t, donde v, velocidad del centro del disco se mide

comot

dv

,siendodeldiámetrodelavarilla,elajustedevfrenteat,nos

dalaaceleracióndelcentrodeldisco,a,yapartirdeahí,podemosconocerI.

Igualmente, representando x frente a t2/2, se obtiene de nuevo a y el

momentodeinercia.

Datos:m=0,437kg;d=5mm.

x  v  t  Ep Ec  E 

‐‐  ‐‐  ‐‐  ‐‐ ‐‐  ‐‐ 

‐‐  ‐‐  ‐‐  ‐‐ ‐‐  ‐‐ 

‐‐  ‐‐  ‐‐  ‐‐ ‐‐  ‐‐ 

Una vez calculadas, según se indica en la tabla, las energías potencial y

cinética en cada posición, la última columna nos confirmará

experimentalmentelaconservacióndelaenergíamecánica,E.

Page 17: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

- Movimiento y rotaciones de cuerpos rígidos-II Instrumental específico: Sólidos rígidos en resorte de torsión.

El periodode oscilacióndeun cuerpoque gira alrededorde un eje,

merced a un resorte helicoidal, viene dado porD

IT 2 , donde D es la

constanterecuperadoradelresorte,eIeselmomentodeinerciadelcuerpo

alrededor de su eje de giro. A partir de la expresión anterior, se pueden

calcular momentos de inercia desconocidos, midiendo periodos de

oscilaciónmediante

224

TD

I

Page 18: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

Paraello,previamentehayquecalcularD.Teniendoencuentaqueel

momento de torsión,M, que sufre el resorte es proporcional al ángulo,,

giradoporéste, estoes,M=D, semide, conayudadeundinamómetro, la

fuerzanecesariaparagirarunángulodado(verfigura),ysepreparalatabla

‐M,dondeM=Fr

  M 

‐‐  ‐‐ 

‐‐  ‐‐ 

‐‐  ‐‐ 

El ajuste de la recta M‐ nos da la constante elástica D. Calculada ésta,

determinaremos el momento de inercia, midiendo sus periodos de

oscilación,decuerposdegeometríadiferente,comoson:disco(I= 12mR

2),

esfera(I=25mR

2),cilindromacizo(I= 12mR

2),varillarectilinea(I= 112ml

2),

y varilla rectilinea con dos masas "puntuales", m1, situadas a distintas

distanciasrdesuejedegiro(I= 112ml

2+2m1r2).Secompararánlosvalores

experimentalesconlosteóricosaquíindicados.

A continuación comprobaremos experimentalmente el teorema de

Steiner. Según éste, el momento de inercia, I, de un cuerpo que gira

alrededordeunejeserelacionaconsumomentodeinercia,IG,respectode

un eje paralelo al anterior y que pase por su c.d.m., según la relación

I=IG+md2(verfigura).Teniendoencuentalarelaciónentreelperiodo,T,yel

momentodeinercia,I,elteoremadeSteinersepuedeescribirtambiéncomo

Page 19: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

Porlotantosimedimoslosperiodosparadistintasdistanciasalcentrodel

disco, y representamos T2 frente a d2, el hecho de que los puntos estén

alineadosconfirmaráqueseverificaelteoremadeSteiner.Lapendientede

larecta, 4 2m

D,permitecalcularotravezlaconstanteDdelresorte

222

2 44d

D

m

D

IT G

Page 20: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

3. INTRODUCCIÓN A LA TÉCNICA DE REGRESIÓN LINEAL

Page 21: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

REGRESION LINEAL: INTRODUCCIN

MANUEL V. RAMALLO

1. Objetivo

Dado un conjunto de puntos {xi, yi} (i = 1, . . . n), hayar la mejor recta que se les

aproxima, por el criterio de los mınimos cuadrados (=minimizar�

i (yi − a− bxi)2)

2. Formulas del ajuste y = a+ bx por mınimos cuadrados

a =1

��

i

x2i�

i

yi −�

i

xi�

i

xiyi

�,

b =1

�n�

i

xiyi −�

i

xi�

i

yi

�,

siendo

∆ = n�

i

x2i −��

i

xi

�2

.

Page 22: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

Las incertidumbres para a y b (para poder expresar a± δa, b± δb, ver nota al pie1):

δa = δy

��i x

2i

∆; δb = δy

�n

∆,

siendo

δy =

�4

n− 2

i

(yi − a− bxi)2.

Importante: Se considera mala praxis hacer un ajuste lineal simplemente aplicando

estas formulas sin acompanarlas de una grafica con los puntos experimentales y con la

recta que resulta del ajuste.

3. Bondad del ajuste

3.1. Coeficiente de correlacion r.

r =n�

i xiyi −�

i xi�

i yi�∆

�n�

i y2i − (

�i yi)

2�

La proximidad de r2 a 1 da una medida de la bondad del ajuste (a menudo indicada por

el numero de nueves en r2: por ejemplo, r2 = 0,9998 nos da un ajuste “de 3 nueves en

r2 ”).

3.2. Descarte de puntos malos.

Si algun punto experimental se desvıa mucho del ajuste, conviene descartarlo: pro-

bablemente ha sido mal medido. El criterio que suele usarse es simplemente el visual,

al representar graficamente los puntos y el ajuste. Existen criterios mucho mas riguro-

sos y laboriosos. Uno intermedio es dibujar las dos rectas y = (a − δa) + (b − δb)x,y = (a + δa) + (b + δb)x, y los puntos. Si algun punto esta bien fuera de los lımites

marcados por esas rectas, se descarta el punto. Entonces se realiza de nuevo el ajuste sin

los puntos malos, y se repite el ciclo “descarte-nuevo ajuste” hasta que no queden puntos

malos. Pero si se descartan demasiados puntos, debe volverse al ajuste original. Ahora

bien, eso serıa indicativo de que debemos repasar el problema, pues probablemente hay

un error o la dependencia de y con x no es lineal. Si se descartan mas puntos que√n

(n=num. total de puntos), es particularmente sospechoso.

1En estas notas se estiman las incertidumbres con un objetivo de nivel de confianza de aproximada-

mente el 95%, razonablemente similar al de tomar como incertidumbre de una medida directa aislada

la resolucion experimental. Se corresponde con una incertidumbre de aproximadamente el doble de la

desviacion estandar. Si se desean incertidumbres de alrededor de una desviacion estandar, cambiar el

factor 4 en la formula de δy por un 1 (corresponde aproximadamente a un 68% de confianza, y a tomar

incertidumbres de 1/√12 veces la resolucion experimental en las medidas aisladas). Para tres desviaciones

estandar (∼ 99% confianza), por un 9.

Page 23: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

4. Uso de algunos recursos informaticos habituales

Suelen calcularse las formulas anteriores con ayuda de programas informaticos. En esta

asignatura se proporcionan para ello plantillas en el lenguaje informatico R (open source,

gratuito y multiplataforma). Otros entornos cientıficos no muy distintos son por ejemplo

sage (libre), maxima (libre), mathematica (de pago), maple (de pago), matlab (de pago)

y su clon octave (libre), etc. Tambien pueden usarse hojas de calculo especializadas para

uso cientıfico, normalmente de pago: Kaleidagraph, Origin, IGOR Pro, SSPS (y su clon

libre PSPP), etc. Las plantillas R se discuten en otras partes de esta Guıa de Laboratorio,

y algunas instrucciones rapidas para algunos de los programas tipo hoja de caculo se

dan a continuacion, en las siguientes subsecciones.2

4.1. Uso del programa informatico Kaleidagraph.

Se recomiendan versiones anteriores a la 4.

Una vez introducidos los datos, se grafican escogiendo el menu Gallery>Linear>Line,

y seleccionando en la ventana que aparece las columnas que corresponden a los ejes x e y.Para mejorar la presentacion, se usan los menus Plot>AxisOptions y Plot>PlotStyle

(o bien se hace doble click sobre cada elemento del grafico).

Los ajustes lineales se introducen usando el menu CurveFit>General con sintaxis

m1+m2*m0 (para y = a + bx) o m1*m0 (para y = bx). Para saber los parametros que

resultan del ajuste, usar el menu Plot>DisplayEquation; esto incluira en la grafica

una tabla con los valores de a (=m1) y b (=m2), y tambien r, s(a) y s(b). Estas dos

ultimas cantidades son las desviaciones estandar de a y b, que multiplicadas por 2 dan

las incertidumbres δa y δb con los criterios usandos en el presente texto (de aprox. un

95% de intervalo de confianza). Importante: En las memorias de practicas, este recuadro

se sustituira por una anotacion mas comprensible (hay que asumir que el lector no

conocera el programa informatico utilizado); lo mismo para el resto de las anotaciones

automaticas del programa (ejes x e y, etc.).

4.2. Uso del programa informatico Origin.

Siguen siendo validas las recomendaciones genericas ya dadas para el programa Kalei-

dagraph. En Origin una vez introducidos los datos se grafican escogiendo el menu Plot>

2Importante: Desgraciadamente, los desarrolladores de APIs graficas cada vez dejan menos libertad

real al usuario de ignorar el criterio de nuestra Real Academia de la Lengua de usar en los numeros una

coma decimal, y no un punto decimal como es lo mas empleado internacionalmente en ciencia y casi

universalmente en los lenguajes de programacion. Todo ello obliga a chequear en las hojas de calculo si

estas usan comas o puntos decimales. Pueden usar distintos criterios en distintas partes de un mismo

programa. Todo esto es una causa muy habitual de errores en el laboratorio, sobre todo cuando se

importan datos. En lenguaje R, siempre se usa el punto decimal. Tambien admite notaciones como .01

y 1e-2 para 0.01.

Page 24: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

Scatter(Line,etc.) y seleccionando, en la ventana que aparece, las columnas que co-

rresponden a los ejes x e y. Para mejorar la presentacion, se usa el menu Format (o

bien se hace doble clic sobre los elementos que se desee variar: ejes, leyendas, tipo de

puntos. . . ).

Los ajustes lineales se introducen usando el menu Analysis>FitLinear (y=a+bx).

Los parametros que resultan del ajuste y sus incertidumbres se muestran automatica-

mente en una ventana aparte. En las memorias de practicas, es importante incluir esa

informacion usando una notacion comprensible para el lector, en vez de la que propor-

ciona el programa.

Para un ajuste y = bx, usar el menu Tools>LinearFit y marcar la casilla ThroughZero.

5. Ajustes asimilables a lineales

Muchas funcionalidades no lineales se pueden tratar mediante ajustes lineales. Por

ejemplo, si dos magnitudes se relacionasen como W = V 3, esta funcionalidad puede

analizarse por medio de un ajuste lineal a una recta tomando para el eje x la cantidad

V 3 y para el eje y la cantidad W (es decir, y = W , x = V 3, y en este caso serıa a = 0,

b = 1). Otro ejemplo: I = 2A sen θ es y = a + bx con y = I, x = sen θ, a = 0, b = 2A.Este tipo de transformaciones se aplican mucho en la practica.

Page 25: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

4. MATERIAL INFORMÁTICO DE APOYO

(LABFISUSC) Como material informático de apoyo el alumno puede descargarse lasplantillas R que con nombre genérico "LabFisUSC" están disponiblesgratuitamenteenlapáginaweb:http://www.usc.es/fisiga/software/fisigasoftware.php?n=Principal.LabFisUSCPara poder ejecutar las plantillas es necesario el entorno R, disponiblegratuitamenteparalossistemasoperativos(entreotros)Windows,LinuxyMacOSen:http://r‐project.orgA continuación se dan unas breves instrucciones de uso general de estasplantillas,yselistanlasmismascomoreferencia(útilparaaquellosalumnosquedeseenprofundizarenlacomprensióndesufuncionamiento).

Page 26: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

MATERIAL DE APOYO EN LENGUAJE R PARA CADA PRÁCTICA (software LabFisUSC) Le sigue a esta página las plantillas escritas en el lenguaje informático R que ayudan a realizar el análisis de datos de las actividades de laboratorio de la asignatura. Estas plantillas son la forma más eficiente de realizar muchos de esos análisis. Es también conveniente que cada grupo lleve un ordenador portátil al laboratorio, con el entorno R ya instalado (ver más abajo); en caso contrario, los alumnos podrían tener que ir y venir del laboratorio al aula de informática de la facultad de física. Puede descargarse cada plantilla del campus virtual de la USC. Para ello y para poder ejecutar las plantillas, sigue las siguientes instrucciones: PARA DESCARGARSE LAS PLANTILLAS: Visitar la página web http://www.usc.es/fisiga/software/fisigasoftware.php?n=Principal.LabFisUSC (o el campus virtual de la asignatura). Pincha sobre el enlace al fichero que te quieras descargar con el botón SECUNDARIO del ratón (normalmente el botón derecho) y selecciona la opción de bajarse el archivo al disco duro PARA EJECUTAR LAS PLANTILLAS: Para ejecutar estas plantillas se precisa un ordenador (windows, mac o linux son válidos) que tenga instalado el lenguaje R. La instalación del lenguaje es especialmente sencilla, y los ficheros y documentacion necesaria se hayan disponibles por ejemplo en http://cran.es.r-project.org Una vez instalado el programa, ha de editarse cada plantilla para introducir en ella las medidas realizadas. Esto debe hacerse en el propio programa R, abriendo las plantillas como "script". Para ello seleccionar en el programa R la opción "Archivo>Abrir script..." (en Windows) o "File>Open document..." (en Mac). Una vez se editan esas plantillas con las medidas realizadas en el laboratorio, se guarda el fichero (importante!). En todas las plantillas hay una sección explicada de dónde y cómo se introducen las medidas. Leerla con atención. Luego se ejecuta en la ventana de R (!) la plantilla, seleccionando con el raton el menu "Archivo>Interpretar codigo fuente R..." (en Windows) o "File>Source file..." (en Mac)]. IMPORTANTE: esto ejecuta la plantilla que está en el disco - por eso tras editar las plantillas hay que guardarlas (si no se ejecutará la plantilla como estaba la última vez que se guardó, y no con los cambios ya hechos pero aún no guardados). Las mayoría de las plantillas normalmente producen tanto las gráficas de la práctica, como una una serie de mensajes en la consola de comandos, incluyendo tablas con los principales datos y cálculos intermedios, etc. Léanse estos mensajes (!) y obsérvense las gráficas asociadas. También, chequéense los mensajes de advertencia o error que puedan aparecer. Vuelva a editarse y ejecutarse la plantilla todas las veces necesarias.

Page 27: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

###################################################################################################### PUESTO DE INSTRUMENTACION:## DISCO DE MAXWELL## (a.k.a. conservacion de la energia mecanica) (c) Manuel V Ramallo, 2010###################################################################################################### comunicar errores o sugerencias a: [email protected]

## debes introducir tus mediciones en este fichero, guardarlo, y ejecutarlo en el entorno R## que esta disponible gratis en: http://cran.es.r-project.org/## para la ejecucion en R se usa el menu File>InterpretSourceFile... (Windows) ## o File>SourceFile...(en Mac)## debes repasar el informe que se genera tras la ejecucion## (todas las ventanas) <-------IMPORTANTE## luego debes enviar por email al profesor ## este fichero, <-------IMPORTANTE## modificado con tus mediciones, <-------IMPORTANTE## indicando los nombres de todos los alumnos autores del trabajo, <-------IMPORTANTE## el nombre de la practica, la fecha en que se realiza <-------IMPORTANTE## y el nombre de la carrera universitaria y universidad## si tienes comentarios incluyelos en el mail## si descartas datos envia un fichero con todos los datos y otro con solo los no descartados

## no tocar las dos siguientes lineas:rm(list=ls(all=TRUE)) #limpia anteriores sesiones Rgraphics.off() #cerrar posibles graficos anteriores

####################################################################################################################################################################################################################################################--AQUI EMPIEZA LA SECCION PARA INTRODUCIR TUS MEDICIONES:################################################################################

#TODOS LOS NUMEROS DEBEN ESTAR EN UNIDADES DEL SISTEMA INTERNACIONAL (tiempos en segundos, distancias en METROS)# no acabes los vectores en comas, o dara error. Ejemplo c(10,20,) esta mal.

# las alturas (distancia centro de la celula fotoelectrica - centro del eje cuando esta a la # altura de la que se deja caer, sin velocidad inicial, la rueda) (=x en el guion):

altura<-c(0.4, 0.5, 0.55, 0.234)

# los tiempos de caida (tiempo que tarda en caer hasta la celula, lo da el reloj en la mesa/estanteria):

tcaida<-c(5.974, 5.463, 5.268, 5.144)

# los tiempos que tarda el eje de la rueda en cruzar la celula fotoelectrica# (lo da el reloj de la propia celula y sirve para calcular la velocidad de caida en ese punto)

tvelocidad<-c(0.042, 0.046, 0.049, 0.053)

# parametros supuestos por el programa (a destacar: masa de la rueda y radio del eje para la cuerda):radio=0.0030;masa=0.529;gravedad=9.79;

################################################################################################################################################################################################################################################################

####--PROGRAMA DE CALCULO (NO TOCAR):

cat("\n")cat("\n")

cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")cat("ATENCION: Debes repasar el report generado abajo\n")

cat("Tambien, si aparecen mensajes de ERROR o PRECAUCION , debes repasar tus medidas y como las has introducido en el programa\n")cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")cat("-------------------------INICIO DEL REPORT---------PRACTICA DE CONSERVACION DE LA ENERGIA MECANICA-------------------------------------------\n")

cat("\n")

#chequeos inicialesif ( max( length(altura), length(tcaida), length(tvelocidad) ) != min( length(altura), length(tcaida), length(tvelocidad) ) ){ print("ERROR - No el mismo numero de medidas para todas las variables")}if ( min(altura,tcaida,tvelocidad)<=0 ) print("ERROR - Hay alguna medida negativa o cero")if ( min(tcaida-tvelocidad)<=0 ) print("ERROR - Hay alguna medida con tcaida<=tvelocidad")if ( length(altura)<10 ) print("PRECAUCION - Pareces tener menos de 10 medidas - si no es porque hayas descartado algunas, deberias medir mas")if ( length(altura)<3 ) print("ERROR - Tienes menos de 3 medidas de h1, y para un ajuste lineal necesitas al menos 3")if ( length(altura)<2 ) print("ERROR - Tienes menos de 2 medidas de h1, y el programa dara un error")

#calculo velocidadvelocidad<-2*radio/tvelocidad;

#calculo I por "metodo v"#graficadev.new()plot(tcaida, velocidad, xlab="t_caida (s)", ylab="v_celula (m/s)")fit<-lm(velocidad~tcaida)abline(fit) texto<-sprintf("***GRAF-1*** Teoria: v_celula = a+ b (t_caida) con a=0, b=mg/(m+I/r^2), I=momento de inercia\n")texto<-paste(texto,sprintf("Ajuste (linea continua): a = %.3g m/s, b=%.3g m/s^2, correlacion r^2=%.5g\n\n", fit$coefficients[[1]], fit$coefficients[[2]],summary(fit)$r.squared))I_metodo_v=radio^2*(masa*gravedad/fit$coefficients[[2]]-masa);texto<-paste(texto,sprintf("==> Resultado: I = 'I_metodo_v' = %.3g kg m^2\n", I_metodo_v))mtext(texto,side=3,cex=0.8) mtext("[practica: conservacion de la energia mecanica]",side=4,cex=0.5,adj=0)

cat("\n")cat("La grafica GRAF-1, mostrada en ventana aparte, muestra la obtencion de I a traves del ajuste v(t) (I_metodo_v)\n")cat("\n")

#chequeo coeficiente correlacion para I_metodo_vif( summary(fit)$r.squared<0.9 ) print("PRECAUCION - r^2 del ajuste para I_metodo_v no tiene ningun 9")if( summary(fit)$r.squared<0.99 ) print("PRECAUCION - r^2 del ajuste para I_metodo_v tiene menos de un 9")

#calculo I por "metodo x"#graficadev.new()ejex<-tcaida^2/2plot(ejex, altura, xlab="t_caida^2/2 (s^2)", ylab="altura caida x (m)")fit<-lm(altura~ejex)abline(fit) texto<-sprintf("***GRAF-2*** Teoria: x = a+ b (t_caida^2/2) con a=0, b=mg/(m+I/r^2), I=momento de inercia\n")texto<-paste(texto,sprintf("Ajuste (linea continua): a = %.3g m, b=%.3g m/s^2, correlacion r^2=%.5g\n\n", fit$coefficients[[1]], fit$coefficients[[2]],summary(fit)$r.squared))I_metodo_x=radio^2*(masa*gravedad/fit$coefficients[[2]]-masa);texto<-paste(texto,sprintf("==> Resultado: I = 'I_metodo_x' = %.3g kg m^2\n", I_metodo_x))mtext(texto,side=3,cex=0.8) mtext("[practica: conservacion de la energia mecanica]",side=4,cex=0.5,adj=0)

cat("\n")cat("La grafica GRAF-2, mostrada en ventana aparte, muestra la obtencion de I a traves del ajuste x(t^2/2) (I_metodo_x)\n")cat("\n")

#chequeo coeficiente correlacion para I_metodo_xif( summary(fit)$r.squared<0.9 ) print("PRECAUCION - r^2 del ajuste para I_metodo_x no tiene ningun 9")if( summary(fit)$r.squared<0.99 ) print("PRECAUCION - r^2 del ajuste para I_metodo_x tiene menos de un 9")

Page 28: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

#calculo energiasEcinetica_metodo_v<-(masa+I_metodo_v/radio^2)/2*(velocidad)^2Ecinetica_metodo_x<-(masa+I_metodo_x/radio^2)/2*(velocidad)^2Epotencial<-masa*gravedad*altura

Porcentaje_DesviacionEnergia_Metodo_v<-100*abs(Ecinetica_metodo_v-Epotencial)/EpotencialPorcentaje_DesviacionEnergia_Metodo_x<-100*abs(Ecinetica_metodo_x-Epotencial)/Epotencial

#chequeo energias negativasif (min(Ecinetica_metodo_v,Ecinetica_metodo_x,Epotencial)<=0) print("ERROR - alguna energia es menor o igual a cero")

#graficas conservacion energia - metodo_v#graficadev.new()plot(Porcentaje_DesviacionEnergia_Metodo_v, xlab="numero de medida", ylab="Porcentaje de desviacion de Ecinetica_final y Epotencial_inicial (usando I_metodo_v)")texto<-sprintf("***GRAF-3***")texto<-paste(texto,sprintf("Porcentaje de desviacion de Ecinetica_final y Epotencial_inicial (usando I_metodo_v)"))mtext(texto,side=3,cex=0.8) mtext("[practica: conservacion de la energia mecanica]",side=4,cex=0.5,adj=0)

cat("\n")cat("La grafica GRAF-3, mostrada en ventana aparte, muestra el porcentaje de desviacion de Ecinetica_final\n")cat("y Epotencial_inicial, usando para los calculo el valor I_metodo_v\n")cat("Segun la teoria dicha energia desviacion deberia ser nula\n")cat("A fijarse en: ¬øcual es el mayor porcentaje de desviacion? ¬øcual el promedio?\n")cat("\n")

#graficas conservacion energia - metodo_x#graficadev.new()plot(Porcentaje_DesviacionEnergia_Metodo_x, xlab="numero de medida", ylab="Porcentaje de desviacion de Ecinetica_final y Epotencial_inicial (usando I_metodo_x)")texto<-sprintf("***GRAF-4***")texto<-paste(texto,sprintf("Porcentaje de desviacion de Ecinetica_final y Epotencial_inicial (usando I_metodo_x)"))mtext(texto,side=3,cex=0.8) mtext("[practica: conservacion de la energia mecanica]",side=4,cex=0.5,adj=0)

cat("\n")cat("La grafica GRAF-4, mostrada en ventana aparte, muestra el porcentaje de desviacion de Ecinetica_final\n")cat("y Epotencial_inicial, usando para los calculo el valor I_metodo_x\n")cat("Segun la teoria dicha energia desviacion deberia ser nula\n")cat("A fijarse en: ¬øcual es el mayor porcentaje de desviacion? ¬øcual el promedio?\n")cat("\n")

#Tabla de medidas y calculos:cat("\n")cat("Tabla de medidas y calculos:\n")cat("\n")Tabla<-data.frame(altura,tcaida,tvelocidad,velocidad,Ecinetica_metodo_v,Ecinetica_metodo_x,Epotencial, Porcentaje_DesviacionEnergia_Metodo_v, Porcentaje_DesviacionEnergia_Metodo_x)print(Tabla,print.gap=10,right=FALSE)cat("\n")

cat("\n")cat("Promedios de los porcentajes de no conservaci!"n de la energ!#a:\n")cat("\n")cat(sprintf("Promedio de Porcentaje_DesviacionEnergia_Metodo_v: %.3g por ciento\n",mean(Porcentaje_DesviacionEnergia_Metodo_v)))cat(sprintf("Promedio de Porcentaje_DesviacionEnergia_Metodo_x: %.3g por ciento\n",mean(Porcentaje_DesviacionEnergia_Metodo_x)))cat("\n")

cat("\n")cat("\n")cat("\n")cat("-------------------------FIN DEL REPORT---------PRACTICA DE CONSERVACION DE LA ENERGIA MECANICA----------------------------------------------\n")cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")

cat("ATENCION: Debes repasar el report generado arriba\n")cat("Tambien, si aparecen mensajes de ERROR o PRECAUCION , debes repasar tus medidas y como las has introducido en el programa\n")cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")

#aviso finaldev.new()plot(c(0,1,0,1),c(0,0,1,1), xlab = "", ylab = "",frame=TRUE,axes=FALSE)text(0.5, 0.8, "NOTA IMPORTANTE:")text(0.5, 0.6, "Debes leer el report generado en")text(0.5, 0.4, "la ventana de la 'consola R'")text(0.5, 0.2, "y las 4 graficas generadas cada una en su ventana")

Page 29: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

#################################################################################################### PUESTO DE INSTRUMENTACION:## CARRIL NEUMATICO## (a.k.a. LEYES DE NEWTON - MOVIMIENTO UNIFORMEMENTE ACELERADO o MUA) (c) Manuel V Ramallo, 2010#################################################################################################### comunicar errores o sugerencias a: [email protected]

## debes introducir tus mediciones en este fichero, guardarlo, y ejecutarlo en el entorno R## que esta disponible gratis en: http://cran.es.r-project.org/## para la ejecucion en R se usa el menu File>InterpretSourceFile... (Windows) ## o File>SourceFile...(en Mac)## debes repasar el informe que se genera tras la ejecucion## (todas las ventanas) <-------IMPORTANTE## luego debes enviar por email al profesor ## este fichero, <-------IMPORTANTE## modificado con tus mediciones, <-------IMPORTANTE## indicando los nombres de todos los alumnos autores del trabajo, <-------IMPORTANTE## el nombre de la practica, la fecha en que se realiza <-------IMPORTANTE## y el nombre de la carrera universitaria y universidad## si tienes comentarios incluyelos en el mail## si descartas datos envia un fichero con todos los datos y otro con solo los no descartados

## no tocar las dos siguientes lineas:rm(list=ls(all=TRUE)) #limpia anteriores sesiones Rgraphics.off() #cerrar posibles graficos anteriores

####################################################################################################################################################################################################################################################--AQUI EMPIEZA LA SECCION PARA INTRODUCIR TUS MEDICIONES:################################################################################

#TODOS LOS NUMEROS DEBEN ESTAR EN UNIDADES DEL SISTEMA INTERNACIONAL (tiempos en segundos, distancias en METROS)# no acabes los vectores en comas, o dara error. Ejemplo c(10,20,) esta mal.

# Introduce aqui las medidas para un experimento de movimiento uniformemente acelerado (MUA)# o sea las realizadas sin usar el disparador y colgando peso de la polea

# Esta parte ha de realizarse al menos dos veces, cada una con distinta masa del movil y# masa del peso de la polea (de modo que tambien varie m_movil/m_polea entre una# vez y otra). Este programa solo admite un valor para cada masa. Reutilicese # este fichero todas las veces necesarias y presentense al profesor todos las # distintas programaciones que se hayan hecho, cada una en un fichero aparte

# -Que el movil salga siempre del mismo punto y sin velocidad inicial!

#longitud de la vela del movil (la que corta el haz de las celulas) (en m)longitud_vela_movil=0.1# masas segun indica la balanza (en kg)m_movil<- 0.1m_polea<- 0.5# posicion celula fotoelectrica 1 (debe ser siempre la misma) (en m)x1_MUA<- 10# posicion celula fotoelectrica 2 (en m)x2_MUA<-c(12,32,35,40,60)# tiempo marcado en la celula fotoelectrica 1 (poner a cero tras cada medida!) (en s):t1_MUA<-c(0.2,0.2,0.2,0.2,0.2)# tiempo marcado en la celula fotoelectrica 2 (poner a cero tras cada medida!) (en s):t2_MUA<-c(0.40,0.50,0.60,0.70,0.80)# tiempo que tarda el movil en ir de la celula fotoelectrica 1 a la celula fotoelectrica 2 (poner a cero tras cada medida!) (en s):t12_MUA<-c(4,5,6,7,8)

################################################################################################################################################################################################################################################################

####--PROGRAMA DE CALCULO (NO TOCAR):

cat("\n")cat("\n")

cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")cat("ATENCION: Debes repasar el report generado abajo\n")cat("Tambien, si aparecen mensajes de ERROR o PRECAUCION , debes repasar tus medidas y como las has introducido en el programa\n")cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")cat("-------------------------INICIO DEL REPORT---------LEYES DE NEWTON / MUA------------------------------------------------------------\n")

cat("\n")#chequeos inicialesif ( max( length(x2_MUA), length(t1_MUA), length(t2_MUA), length(t12_MUA) ) != max( length(x2_MUA), length(t1_MUA), length(t2_MUA), length(t12_MUA) ) ){ cat("====ERROR==== - No el mismo numero de medidas para x2_MUA, t1_MUA, t2_MUA, t12_MUA\n")}if ( min(x2_MUA,x1_MUA,t1_MUA, t2_MUA, t12_MUA,m_movil,m_polea,longitud_vela_movil)<=0 ) cat("====ERROR==== Hay alguna medida negativa o cero\n")if ( min(x2_MUA-x1_MUA)<=0 ) cat("====ERROR==== Hay alguna medida con x1_MUA>x2_MUA\n")if ( length(x2_MUA)<10 ) cat("====PRECAUCION==== Pareces tener menos de 10 medidas - si no es porque hayas descartado algunas, deberias medir mas\n")if ( length(x2_MUA)<3 ) cat("====ERROR==== Tienes menos de 3 medidas, y para un ajuste lineal necesitas al menos 3\n")if ( length(x2_MUA)<2 ) cat("====ERROR==== Tienes menos de 2 medidas, y el programa dara un error\n")

#medidas realizadas comunes a todos los lanzamientoscat("\n")cat("--Medidas realizadas comunes a todos los lanzamientos:\n")cat("\n")cat(sprintf("masa del movil = %g kg\n",m_movil))cat(sprintf("masa de la polea = %g kg\n",m_polea))cat(sprintf("posicion de la celula 1 = %g m\n",x1_MUA))cat(sprintf("longitud de la vela del movil = %g m\n", longitud_vela_movil))cat("\n")

#medidas realizadas en cada lanzamientocat("\n")cat("--Medidas realizadas en cada lanzamiento:\n")cat("\n")TablaMedidas<-data.frame(x2_MUA, t1_MUA, t2_MUA, t12_MUA)print(TablaMedidas,print.gap=10,right=FALSE)cat("\n")

#calculo aceleracion segun teoria de Newtonaceleracion_teoria=9.81*m_polea/m_movil

#calculo velocidades en las celulas fotoelectricas 1 y 2v1_MUA<-longitud_vela_movil/t1_MUAv2_MUA<-longitud_vela_movil/t2_MUA

cat("\n")cat("--Calculo de las velocidades en las celulas fotoelectricas 1 y 2:\n")cat("\n")cat("aplicando la formula\n")cat(" (velocidad cuando el movil pasa por la celula) = (longitud_vela_movil) / (tiempo que marca cada celula)\n")cat("resulta para cada lanzamiento (en m/s):\n")cat("\n")TablaMedidas<-data.frame(v1_MUA, v2_MUA)print(TablaMedidas,print.gap=10,right=FALSE,digits=3)cat("\n")cat(sprintf("El promedio para v1_MUA es <v1_MUA>=%.3g m/s\n",mean(v1_MUA)))if( (max(v1_MUA)-min(v1_MUA))/mean(v1_MUA)>0.15 ) cat("====PRECAUCION==== - alguna medida de v1_MUA podria desviarse mas de un 10 por ciento del promedio\n")cat("\n")

#grafica x(t)dev.new()

Page 30: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

ejex<- t12_MUAejey<- x2_MUAplot(ejex, ejey, xlab="t (s)", ylab="x (m)")fit <- nls(ejey~A0+A1*ejex+A2*ejex^2, start=list(A0=0.001,A1=0.001,A2=0.001))r_fit <- sqrt( 1- (sum((ejey- (coef(fit)["A0"]+coef(fit)["A1"]*ejex+coef(fit)["A2"]*ejex^2) )^2)) / (sum((ejey-mean(ejey))^2)) )lines(ejex,coef(fit)["A0"]+ coef(fit)["A1"]*ejex + coef(fit)["A2"]*ejex^2) texto<-sprintf("*** GRAF-1 ***\n")texto<-paste(texto,sprintf("Teoria: x = a + b t + c t^2 con a = x_inicial (=posicion celula 1), b = velocidad inicial = v1, c = aceleracion/2 , \n"))texto<-paste(texto,sprintf("Ajuste (linea continua): a = %.3g m, b=%.3g m/s, c=%.3g m/s^2, correlacion r^2=%.5g\n", coef(fit)["A0"], coef(fit)["A1"], coef(fit)["A2"], r_fit))

mtext(texto,side=3,cex=0.8) mtext("[practica: leyes de Newton - parte MUA]",side=4,cex=0.5,adj=0)

#texto del report para grafica x(t)cat("\n")cat("--Analisis x(t):\n")cat("\n")cat("La grafica GRAF-1 (en ventana aparte) muestra la grafica x(t) (con x=x2_MUA y t=t12_MUA)\n")cat("Segun la teoria la dependencia debe ser cuadratica x(t) = x0 + v0 t + (a/2) t^2 (con x0=x1_MUA, v0=v1_MUA, y a=9.81*m_polea/m_movil)\n")cat("El ajuste por minimos cuadrados a esa funcionalidad tambien se muestra en la GRAF-1\n")cat(sprintf("Es un ajuste de r^2 = %g\n",(r_fit)^2))cat(sprintf("El ajuste produce un valor de x0 = %.3g m, frente al valor teorico x1_MUA = %.3g m\n", coef(fit)["A0"], x1_MUA))cat(sprintf("El ajuste produce un valor de v0 = %.3g m/s, frente al valor teorico <v1_MUA> = %.3g\n", coef(fit)["A1"],mean(v1_MUA)))cat(sprintf("El ajuste produce un valor de a = %.3g m/s^2, frente al valor teorico 9.81*m_polea/m_movil = %.3g m/s^2\n", coef(fit)["A2"]*2, aceleracion_teoria))cat("\n")

#chequeo coeficiente correlacionif( (r_fit)^2<0.9 ) cat("====PRECAUCION==== r^2 del ajuste 'x(t)' no tiene ningun 9\n")if( (r_fit)^2<0.99 ) cat("====PRECAUCION==== r^2 del ajuste 'x(t)' tiene menos de un 9\n")

#grafica v(t)dev.new()plot(t12_MUA, v2_MUA, xlab="t (s)", ylab="v (m/s)")fit<-lm(v2_MUA~t12_MUA)abline(fit) texto<-sprintf("*** GRAF-2 ***\n")texto<-paste(texto,sprintf("Teoria: v = a + b t con a = velocidad_inicial , b = aceleracion \n"))texto<-paste(texto,sprintf("Ajuste (linea continua): a = %.3g m/s, b=%.3g m/s^2, correlacion r^2=%.5g\n", fit$coefficients[[1]], fit$coefficients[[2]],summary(fit)$r.squared))aceleracion_fit_v_MUA=fit$coefficients[[2]];texto<-paste(texto,sprintf("==> Resultado: aceleracion = %.3g m/s^2\n", aceleracion_fit_v_MUA))mtext(texto,side=3,cex=0.8) mtext("[practica: leyes de Newton - parte MUA]",side=4,cex=0.5,adj=0)

#texto del report para grafica v(t)cat("\n")cat("--Analisis v(t):\n")cat("\n")cat("La grafica GRAF-2 (en ventana aparte) muestra la grafica v(t) (con v=v2_MUA y t=t12_MUA)\n")cat("Segun la teoria la dependencia debe ser lineal v(t) = v0 + a t (con v0=v1_MUA, y a=9.81*m_polea/m_movil)\n")cat("El ajuste por minimos cuadrados a esa funcionalidad tambien se muestra en la GRAF-2\n")cat(sprintf("Es un ajuste de r^2 = %g\n",summary(fit)$r.squared))cat(sprintf("El ajuste produce un valor de v0 = %.3g m/s, frente al valor teorico <v1_MUA> = %.3g\n", fit$coefficients[[1]],mean(v1_MUA)))cat(sprintf("El ajuste produce un valor de a= %.3g m/s^2, frente al valor teorico 9.81*m_polea/m_movil = %.3g m/s^2\n", fit$coefficients[[2]], aceleracion_teoria))cat("\n")

#chequeo coeficiente correlacionif( summary(fit)$r.squared<0.9 ) cat("====PRECAUCION==== r^2 del ajuste 'v(t)' no tiene ningun 9\n")if( summary(fit)$r.squared<0.99 ) cat("====PRECAUCION==== r^2 del ajuste 'v(t)' tiene menos de un 9\n")

#grafica v^2(x)

dev.new()plot(x2_MUA, v2_MUA^2, xlab="x (m)", ylab="v^2 (m^2/s^2)")fit<-lm(v2_MUA^2~x2_MUA)abline(fit) texto<-sprintf("*** GRAF-3 ***\n")texto<-paste(texto,sprintf("Teoria: v^2 = a + b x con a = velocidad_inicial^2-2*aceleracion*xinicial , b = 2*aceleracion \n"))texto<-paste(texto,sprintf("Ajuste (linea continua): a = %.3g m^2/s^2, b=%.3g m/s^2, correlacion r^2=%.5g\n", fit$coefficients[[1]], fit$coefficients[[2]],summary(fit)$r.squared))aceleracion_fit_v2_MUA=fit$coefficients[[2]]/2;texto<-paste(texto,sprintf("==> Resultado (usando el valor de b): aceleracion = %.3g m/s^2\n", aceleracion_fit_v2_MUA))mtext(texto,side=3,cex=0.8) mtext("[practica: leyes de Newton - parte MUA]",side=4,cex=0.5,adj=0)

#texto del report para grafica v^2(x)cat("\n")cat("--Analisis v^2(x):\n")cat("\n")cat("La grafica GRAF-3 (en ventana aparte) muestra la grafica v^2(x) (con v=v2_MUA y x=x2_MUA)\n")cat("Segun la teoria la dependencia debe ser lineal v^2(x) = (v0^2- 2a x0) + (2a) x (con v0=v1_MUA, x0=x1_MUA y a=9.81*m_polea/m_movil)\n")cat("El ajuste por minimos cuadrados a esa funcionalidad tambien se muestra en la GRAF-3\n")cat(sprintf("Es un ajuste de r^2 = %g\n",summary(fit)$r.squared))cat(sprintf("Usando el valor ajustado del coeficiente del termino lineal, se obtiene un valor de a = %.3g m/s^2, frente al valor teorico 9.81*m_polea/m_movil = %.3g m/s^2\n", fit$coefficients[[2]], 9.81*m_polea/m_movil))cat(sprintf("Usando el valor ajustado del coeficiente del termino constante, el valor medido de x1_MUA, y el promedio <v1_MUA>, se obtiene un valor de a = %.3g m/s^2, frente al valor teorico 9.81*m_polea/m_movil = %.3g m/s^2\n", (mean(v1_MUA)-fit$coefficients[[1]])/2/x1_MUA, aceleracion_teoria))cat("\n")

#chequeo coeficiente correlacionif( summary(fit)$r.squared<0.9 ) cat("====PRECAUCION==== r^2 del ajuste 'v^2(x)' no tiene ningun 9\n")if( summary(fit)$r.squared<0.99 ) cat("====PRECAUCION==== r^2 del ajuste 'v^2(x)' tiene menos de un 9\n")

#escribir comparacionescat("\n")cat("--------------------Resumen de Resultados----------------------------------------------------\n")cat(sprintf("Aceleracion que resulta del ajuste 'v(t)': aceleracion_fit_v_MUA = %.3g m/s^2\n",aceleracion_fit_v_MUA))cat(sprintf("Aceleracion que resulta del ajuste 'v^2(x)': aceleracion_fit_v2_MUA = %.3g m/s^2\n",aceleracion_fit_v2_MUA))cat(sprintf("Diferencia entre ambos valores: %.2g por ciento\n",abs(aceleracion_fit_v_MUA-aceleracion_fit_v2_MUA)/aceleracion_fit_v2_MUA))cat(sprintf("Aceleracion que resulta de aplicar las leyes de Newton (F=ma conociendo las masas): aceleracion_teoria %.3g m/s^2\n",aceleracion_teoria))cat(sprintf("Diferencia entre aceleracion teorica y la del ajuste 'v(t)': %.2g por ciento\n", 100*abs(aceleracion_fit_v_MUA-aceleracion_teoria)/aceleracion_teoria))cat(sprintf("Diferencia entre aceleracion teorica y la del ajuste 'v^2(x)': %.2g por ciento\n", 100*abs(aceleracion_fit_v2_MUA-aceleracion_teoria)/aceleracion_teoria))cat("--------------------------------------------------------------------------------------------\n")

cat("\n")cat("\n")

cat("-------------------------FIN DEL REPORT---------------------------------------------------------------------------------------------\n")cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")cat("ATENCION: Debes repasar el report generado arriba\n")cat("Tambien, si aparecen mensajes de ERROR o PRECAUCION , debes repasar tus medidas y como las has introducido en el programa\n")cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")

cat("\n")cat("\n")

#aviso finaldev.new()plot(c(0,1,0,1),c(0,0,1,1), xlab = "", ylab = "",frame=TRUE,axes=FALSE)

Page 31: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

text(0.5, 0.8, "NOTA IMPORTANTE:")text(0.5, 0.6, "Debes leer el report generado en")text(0.5, 0.4, "la ventana de la 'consola R'")text(0.5, 0.2, "y las 3 graficas generadas cada una en su ventana")

###################################################################################################### PUESTO DE INSTRUMENTACION:## RESORTE DE TORSION##¬† (a.k.a. MOMENTOS DE INERCIA) (c) Manuel V Ramallo, 2010###################################################################################################### comunicar errores o sugerencias a: [email protected]

## debes introducir tus mediciones en este fichero, guardarlo, y ejecutarlo en el entorno R## que esta disponible gratis en: http://cran.es.r-project.org/## para la ejecucion en R se usa el menu File>InterpretSourceFile... (Windows) ## o File>SourceFile...(en Mac)## debes repasar el informe que se genera tras la ejecucion## (todas las ventanas) <-------IMPORTANTE## luego debes enviar por email al profesor ## este fichero, <-------IMPORTANTE## modificado con tus mediciones, <-------IMPORTANTE## indicando los nombres de todos los alumnos autores del trabajo, <-------IMPORTANTE## el nombre de la practica, la fecha en que se realiza <-------IMPORTANTE## y el nombre de la carrera universitaria y universidad## si tienes comentarios incluyelos en el mail## si descartas datos envia un fichero con todos los datos y otro con solo los no descartados

## no tocar las dos siguientes lineas:rm(list=ls(all=TRUE)) #limpia anteriores sesiones Rgraphics.off() #cerrar posibles graficos anteriores

####################################################################################################################################################################################################################################################--AQUI EMPIEZA LA SECCION PARA INTRODUCIR TUS MEDICIONES:################################################################################

#TODOS LOS NUMEROS DEBEN ESTAR EN UNIDADES DEL SISTEMA INTERNACIONAL SALVO LOS CASOS EN QUE SE INDICA LO CONTRARIO# no acabes los vectores en comas, o dara error. Ejemplo c(10,20,) esta mal.

# --Para la parte de calibrar el muelle de torsion# medidas del dinamometro (ojo a la perpendicularidad) (ojo - en kg):

dinamometro_kg<-c(0.01,0.20,0.30,0.40)

# angulos para cada medida del dinamometro (ojo - en grados):

angulo_grados<-c(0.40,0.50,0.60,0.70)

# radio desde el centro del disco con angulos marcados hasta el punto en donde se aplica la fuerza del dinamometro (midase!):

radio_disco_calibrado<-0.20

# --Para la parte de medir momentos de inercia a traves del periodo de oscilacion del muelle# lecturas de la celula fotoelectrica (ojo - centrese bien!):

semiperiodo_disco<-c(2000,4000,3000,1000)semiperiodo_cilindro<-c(2000,4000,3000,1000)semiperiodo_esfera<-c(2000,4000,3000,1000)

# --Para comprobar si los momentos de inercia coinciden con la teoria# masas (una sola medida en la balanza es suficiente)

masa_disco<-0.1masa_cilindro<-0.2masa_esfera<-0.3

# radios del disco y del cilindro

radio_disco<-0.1radio_cilindro<-0.05

# el radio de la esfera se saca indirectamente midiendo su perimetro (ayudados de una cuerda):perimetro_esfera<-0.70radio_esfera<-perimetro_esfera/2/3.14159

################################################################################################################################

Page 32: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

################################################################################################################################

####--PROGRAMA DE CALCULO (NO TOCAR):

cat("\n")cat("\n")

cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")cat("ATENCION: Debes repasar el report generado abajo\n")cat("Tambien, si aparecen mensajes de ERROR o PRECAUCION , debes repasar tus medidas y como las has introducido en el programa\n")cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")cat("-------------------------INICIO DEL REPORT---------PRACTICA DE LOS MOMENTOS DE INERCIA----------------------------------------------\n")

#chequeos inicialesif ( max( length(dinamometro_kg), length(angulo_grados) ) != min( length(dinamometro_kg), length(angulo_grados) ) ){ print("ERROR - No el mismo numero de medidas para dinamometro_kg y angulo_grados")}if ( min(dinamometro_kg,angulo_grados,semiperiodo_disco,semiperiodo_cilindro,semiperiodo_esfera)<=0 ) print("ERROR - Hay alguna medida negativa o cero")if ( min(radio_disco,radio_cilindro,radio_esfera,masa_disco,masa_cilindro,masa_esfera)<=0 ) print("ERROR - Hay alguna medida negativa o cero")if ( max(angulo_grados)>90 ) print("ERROR - Hay alguna medida para angulos de mas de 90 grados - no debes ir a valores tan grandes pues el muelle de torsion empieza a rozar consigo mismo")if ( length(dinamometro_kg)<10 ) print("PRECAUCION - Pareces tener menos de 10 medidas de dinamometro- si no es porque hayas descartado algunas, deberias medir mas")if ( length(dinamometro_kg)<3 ) print("ERROR - Tienes menos de 3 medidas de dinamometro, y para un ajuste lineal necesitas al menos 3")if ( length(dinamometro_kg)<2 ) print("ERROR - Tienes menos de 2 medidas de dinamometro, y el programa dara un error")if ( max(length(semiperiodo_disco),length(semiperiodo_cilindro),length(semiperiodo_esfera))<10 ) print("PRECAUCION - Pareces tener menos de 10 medidas de algun semiperiodo- si no es porque hayas descartado algunas, deberias medir mas")

#chequeo estadistica semiperiodos

if( (max(semiperiodo_disco)-min(semiperiodo_disco))/mean(semiperiodo_disco)>0.3 ) print("PRECAUCION - alguna medida de semiperiodo_disco podria desviarse mas de un 20 por ciento de la media")if( (max(semiperiodo_cilindro)-min(semiperiodo_cilindro))/mean(semiperiodo_cilindro)>0.3 ) print("PRECAUCION - alguna medida de semiperiodo_cilindro podria desviarse mas de un 20 por ciento de la media")if( (max(semiperiodo_esfera)-min(semiperiodo_esfera))/mean(semiperiodo_esfera)>0.3 ) print("PRECAUCION - alguna medida de semiperiodo_esfera podria desviarse mas de un 20 por ciento de la media")

#calculo angulos en radianesangulo_radianes<-angulo_grados*0.0174533;

#calculo momento de la fuerzamomento<-dinamometro_kg*9.81*radio_disco_calibrado;

#graficaplot(angulo_radianes, momento, xlab="angulo de torsion del muelle (rad)", ylab="momento de la fuerza M (Nm)")fit<-lm(momento~angulo_radianes)abline(fit) texto<-sprintf("***GRAF-1*** Teoria: M = a + b angulo, con a=0, b = D = constante del muelle de torsion\n")texto<-paste(texto,sprintf("Ajuste (linea continua): a = %.3g Nm, b=%.3g Nm/rad, correlacion r^2=%.5g\n\n", fit$coefficients[[1]], fit$coefficients[[2]],summary(fit)$r.squared))texto<-paste(texto,sprintf("==> Resultado: D = %.3g Nm/rad\n", fit$coefficients[[2]]))mtext(texto,side=3,cex=0.8) mtext("[practica: momentos de inercia]",side=4,cex=0.5,adj=0)

cat("\n")cat("La grafica GRAF-1, mostrada en ventana aparte, muestra la grafica M(angulo)\n")cat("y tambien el valor de D, la constante elastica del muelle de torsion, obtenido del ajuste por minimos cuadrados correspondiente\n")cat("\n")

#constante del muelleconstante_muelle<-fit$coefficients[[2]]

#chequeo coeficiente correlacionif( summary(fit)$r.squared<0.9 ) print("PRECAUCION - r^2 del ajuste no tiene ningun 9")if( summary(fit)$r.squared<0.99 ) print("PRECAUCION - r^2 del ajuste tiene menos de un 9")

#resultados para los momentos de inercia y comparacion con la teoriacat("---RESULTADOS PARA LOS MOMENTOS DE INERCIA Y COMPARACION CON LA TEORIA:\n")cat("\n")cat("--CILINDRO:\n")cat("\n")I_exp_cilindro<-constante_muelle*(2*mean(semiperiodo_cilindro))^2/39.47835I_teo_cilindro<-0.5*masa_cilindro*radio_cilindro^2cat(sprintf(" Momento de inercia medido a traves de las oscilaciones: I_exp = %.3g kgm^2\n", I_exp_cilindro))cat(sprintf(" Momento de inercia calculado a traves de la masa y el radio: I_teo = (1/2)*masa*radio^2 = %.3g kgm^2\n", I_teo_cilindro))cat(sprintf(" ==> Separacion en tanto por ciento entre ambos valores: 100(I_exp-I_teo)/I_teo = %.3g por ciento\n", 100*abs(I_exp_cilindro-I_teo_cilindro)/I_teo_cilindro))if( 100*abs(I_exp_cilindro-I_teo_cilindro)/I_teo_cilindro>30 ) print("PRECAUCION - M!°s de un 30 por ciento de desviacion entre teoria y experimento")cat("\n")cat("--DISCO:")cat("\n")I_exp_disco<-constante_muelle*(2*mean(semiperiodo_disco))^2/39.47835I_teo_disco<-0.5*masa_disco*radio_disco^2cat(sprintf(" Momento de inercia medido a traves de las oscilaciones: I_exp = %.3g kgm^2\n", I_exp_disco))cat(sprintf(" Momento de inercia calculado a traves de la masa y el radio: I_teo = (1/2)*masa*radio^2 = %.3g kgm^2\n", I_teo_disco))cat(sprintf(" ==> Separacion en tanto por ciento entre ambos valores: 100(I_exp-I_teo)/I_teo = %.3g por ciento\n", 100*abs(I_exp_disco-I_teo_disco)/I_teo_disco))if( 100*abs(I_exp_disco-I_teo_disco)/I_teo_disco>30 ) print("PRECAUCION - M!°s de un 30 por ciento de desviacion entre teoria y experimento")cat("\n")cat("--ESFERA:")cat("\n")I_exp_esfera<-constante_muelle*(2*mean(semiperiodo_esfera))^2/39.47835I_teo_esfera<-2/5*masa_esfera*radio_esfera^2cat(sprintf(" Momento de inercia medido a traves de las oscilaciones: I_exp = %.3g kgm^2\n", I_exp_esfera))cat(sprintf(" Momento de inercia calculado a traves de la masa y el radio: I_teo = (1/2)*masa*radio^2 = %.3g kgm^2\n", I_teo_esfera))cat(sprintf(" ==> Separacion en tanto por ciento entre ambos valores: 100(I_exp-I_teo)/I_teo = %.3g por ciento\n", 100*abs(I_exp_esfera-I_teo_esfera)/I_teo_esfera))if( 100*abs(I_exp_esfera-I_teo_esfera)/I_teo_esfera>30 ) print("PRECAUCION - M!°s de un 30 por ciento de desviacion entre teoria y experimento")cat("\n")

dinamometro_Nw<-dinamometro_kg*9.81#Tabla de medidas y calculos:

cat("\n")cat("Tabla de medidas y calculos de la calibracion del muelle:\n")cat("\n")

Tabla<-data.frame(angulo_grados,angulo_radianes,dinamometro_kg,dinamometro_Nw,momento)print(Tabla,print.gap=10,right=FALSE)

cat("\n")cat("\n")cat("Tabla de medidas y calculos de la medicion de oscilaciones:\n")cat("\n")Tabla<-data.frame(semiperiodo_disco,semiperiodo_cilindro,semiperiodo_esfera)print(Tabla,print.gap=10,right=FALSE)

cat("\n")

Page 33: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

cat("\n")

cat("-------------------------FIN DEL REPORT---------PRACTICA DE LOS MOMENTOS DE INERCIA-------------------------------------------------\n")cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")cat("ATENCION: Debes repasar el report generado arriba\n")cat("Tambien, si aparecen mensajes de ERROR o PRECAUCION , debes repasar tus medidas y como las has introducido en el programa\n")cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")

#aviso finaldev.new()plot(c(0,1,0,1),c(0,0,1,1), xlab = "", ylab = "",frame=TRUE,axes=FALSE)text(0.5, 0.8, "NOTA IMPORTANTE:")text(0.5, 0.6, "Debes leer el report generado en")text(0.5, 0.4, "la ventana de la 'consola R'")text(0.5, 0.2, "y la grafica generada en una ventana aparte")

###################################################################################################### PUESTO DE INSTRUMENTACION:##¬† CONSTANTE ELASTICA DE UN MUELLE (c) Manuel V Ramallo, 2010#################################################################################################### ## comunicar errores o sugerencias a: [email protected]

## debes introducir tus mediciones en este fichero, guardarlo, y ejecutarlo en el entorno R## que esta disponible gratis en: http://cran.es.r-project.org/## para la ejecucion en R se usa el menu File>InterpretSourceFile... (Windows) ## o File>SourceFile...(en Mac)## debes repasar el informe que se genera tras la ejecucion## (todas las ventanas) <-------IMPORTANTE## luego debes enviar por email al profesor ## este fichero, <-------IMPORTANTE## modificado con tus mediciones, <-------IMPORTANTE## indicando los nombres de todos los alumnos autores del trabajo, <-------IMPORTANTE## el nombre de la practica, la fecha en que se realiza <-------IMPORTANTE## y el nombre de la carrera universitaria y universidad## si tienes comentarios incluyelos en el mail## si descartas datos envia un fichero con todos los datos y otro con solo los no descartados

## no tocar las dos siguientes lineas:rm(list=ls(all=TRUE)) #limpia anteriores sesiones Rgraphics.off() #cerrar posibles graficos anteriores

####################################################################################################################################################################################################################################################--AQUI EMPIEZA LA SECCION PARA INTRODUCIR TUS MEDICIONES:################################################################################

#TODOS LOS NUMEROS DEBEN ESTAR EN UNIDADES DEL SISTEMA INTERNACIONAL SALVO LOS CASOS EN QUE SE INDICA LO CONTRARIO# no acabes los vectores en comas, o dara error. Ejemplo c(10,20,) esta mal.

# ---A -Para la parte de determinacion de la cte del muelle k por el metodo estatico

# para medir el estiramiento medir la altura a la que llega el muelle sin masa colgada y en reposo, y la altura a la que llega con la # masa colgada (y tambien en reposo), restar ambas longitudes y ponerlas (con signo positivo y en metros) en la variable estiramiento_estatico_metros:

estiramiento_estatico_metros<-c(0.10,0.20,0.30,0.40)masa_metodo_estatico_kilogramos<-c(0.10,0.20,0.30,0.40)

# ---B -Para la parte de determinacion de la cte del muelle k por el metodo dinamico

# los tiempos tiempo1 que tarda el muelle en oscilar el numero de veces escogido (recomendado:15), y las masas que se han colgado cada vez:

tiempo_metodo_dinamico_seg<-c(1000,2000,3000,4000)masa_metodo_dinamico_kilogramos<-c(0.10,0.20,0.30,0.40)

# el programa supone que has dejado oscilar el muelle 15 oscilaciones. Si has usado otro numero, corrigelo en la siguientes linea:

numerooscilaciones<-rep(15, times=length(tiempo_metodo_dinamico_seg)) #si no usas siempre el mismo numero de oscilaciones usa c(xx,xx,xx,...) en vez de rep(xx, times=length(tiempo_metodo_dinamico_seg))

# ---C y D -Para la parte de determinacion de densidad de solidos y liquidos

# Estiramiento con la masa colgada en el aire: como antes, para medir los estiramientos medir la altura a la que llega el muelle sin la masa colgada# y en reposo, y la altura a la que llega con la masa colgada (y tambien en reposo), y restar ambas longitudes# El estiramiento con la masa colgada en los distintos liquidos se mide igual. Ojo: la masa debe quedar totalmente sumergida# Se hacen varias medidas, siempre con la misma masa colgada, para que promedie el resultado

estiramiento_aire_metros<-c(0.10,0.20,0.30,0.40)estiramiento_aguadestilada_metros<-c(0.11,0.21,0.31,0.41)estiramiento_alcohol_metros<-c(0.12,0.22,0.32,0.42)

#el programa supone una densidad_aguadestilada de 1kg/l=1000kg/m^3:

densidad_aguadestilada=1000;

Page 34: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

################################################################################################################################################################################################################################################################

####--PROGRAMA DE CALCULO (NO TOCAR):

cat("\n")cat("\n")

cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")cat("ATENCION: Debes repasar el report generado abajo\n")cat("Tambien, si aparecen mensajes de ERROR o PRECAUCION , debes repasar tus medidas y como las has introducido en el programa\n")cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")cat("-------------------------INICIO DEL REPORT---------PRACTICA DEL MUELLE--------------------------------------------------------------\n")

cat("\n")

# ---A- Calculos para la parte de determinacion de la cte del muelle k por el metodo estatico

#chequeos inicialesif ( max( length(estiramiento_estatico_metros), length(masa_metodo_estatico_kilogramos) ) != min( length(estiramiento_estatico_metros), length(masa_metodo_estatico_kilogramos) ) ){ print("ERROR - No el mismo numero de medidas para estiramiento_estatico_metros y masa_metodo_estatico_kilogramos")}if ( length(estiramiento_estatico_metros)<10 ) print("PRECAUCION - Pareces tener menos de 10 medidas de estiramiento_estatico_metros- si no es porque hayas descartado algunas, deberias medir mas")if ( length(estiramiento_estatico_metros)<3 ) print("ERROR - Tienes menos de 3 medidas de estiramiento_estatico_metros, y para un ajuste lineal necesitas al menos 3")if ( length(estiramiento_estatico_metros)<2 ) print("ERROR - Tienes menos de 2 medidas de estiramiento_estatico_metros, y el programa dara un error")

if ( min(estiramiento_estatico_metros,masa_metodo_estatico_kilogramos)<=0 ) print("ERROR - Hay alguna medida negativa o cero en la parte del metodo estatico")

#calculo fuerzafuerza_estatico<-masa_metodo_estatico_kilogramos*9.81

#graficadev.new()plot(estiramiento_estatico_metros, fuerza_estatico, xlab="elongacion del muelle Dx (m) (metodo estatico)", ylab="fuerza F (N)")fit<-lm(fuerza_estatico~estiramiento_estatico_metros)abline(fit) texto<-sprintf("***GRAF-1*** Teoria: F = a + b Dx, con a=0, b = k = constante elastica del muelle\n")texto<-paste(texto,sprintf("Ajuste (linea continua): a = %.3g N, b=%.3g N/m, correlacion r^2=%.5g\n\n", fit$coefficients[[1]], fit$coefficients[[2]],summary(fit)$r.squared))texto<-paste(texto,sprintf("==> Resultado: k = %.3g N/m\n", fit$coefficients[[2]]))mtext(texto,side=3,cex=0.8) mtext("[practica: muelle / parte A - determinacion de la constante elastica por el metodo estatico]",side=4,cex=0.5,adj=0)

#constante del muelleconstante_muelle_metodo_estatico<-fit$coefficients[[2]]if( constante_muelle_metodo_estatico<0 ) print("PRECAUCION - la constante elastica da negativa en la parte del metodo estatico")

#chequeo coeficiente correlacionif( summary(fit)$r.squared<0.9 ) print("PRECAUCION - r^2 del ajuste de la parte del metodo estatico no tiene ningun 9")if( summary(fit)$r.squared<0.99 ) print("PRECAUCION - r^2 del ajuste de la parte del metodo estatico tiene menos de un 9")

# ---A- Calculos para la parte de determinacion de la cte del muelle k por el metodo dinamico

#chequeos inicialesif ( max( length(tiempo_metodo_dinamico_seg), length(masa_metodo_dinamico_kilogramos), length(numerooscilaciones) ) != min( length(tiempo_metodo_dinamico_seg), length(masa_metodo_dinamico_kilogramos), length(numerooscilaciones) ) ){ print("ERROR - No el mismo numero de medidas para tiempo_metodo_dinamico_seg, masa_metodo_dinamico_kilogramos, y numerooscilaciones")}if ( length(tiempo_metodo_dinamico_seg)<10 ) print("PRECAUCION - Pareces tener menos de 10 medidas de tiempo_metodo_dinamico_seg- si no es porque hayas descartado algunas, deberias medir mas")if ( length(tiempo_metodo_dinamico_seg)<3 ) print("ERROR - Tienes menos de 3 medidas de tiempo_metodo_dinamico_seg, y para un ajuste lineal necesitas al menos 3")if ( length(tiempo_metodo_dinamico_seg)<2 ) print("ERROR - Tienes menos de 2 medidas de tiempo_metodo_dinamico_seg, y el programa dara un error")

if ( min(tiempo_metodo_dinamico_seg,masa_metodo_dinamico_kilogramos,numerooscilaciones)<=0 ) print("ERROR - Hay alguna medida negativa o cero en la parte del metodo dinamico")

#calculo periodoperiodo<-tiempo_metodo_dinamico_seg/numerooscilaciones

#graficadev.new()plot(masa_metodo_dinamico_kilogramos, periodo^2, xlab="masa m (Kg) (metodo dinamico)", ylab="Periodo^2 T^2 (s^2)")fit<-lm(periodo^2~masa_metodo_dinamico_kilogramos)abline(fit) texto<-sprintf("***GRAF-2*** Teoria: T^2 = a + b m, con a=0, b = 4*pi^2/k, k = constante elastica del muelle\n")texto<-paste(texto,sprintf("Ajuste (linea continua): a = %.3g s^2, b=%.3g s^2/kg, correlacion r^2=%.5g\n\n", fit$coefficients[[1]], fit$coefficients[[2]],summary(fit)$r.squared))texto<-paste(texto,sprintf("==> Resultado: k = %.3g N/m\n", 4*3.14159^2/(fit$coefficients[[2]]) ))mtext(texto,side=3,cex=0.8) mtext("[practica: muelle / parte A - determinacion de la constante elastica por el metodo dinamico]",side=4,cex=0.5,adj=0)

#constante del muelleconstante_muelle_metodo_dinamico<-4*3.14159^2/(fit$coefficients[[2]])if( constante_muelle_metodo_dinamico<0 ) print("PRECAUCION - la constante elastica da negativa en la parte del metodo dinamico")

#chequeo coeficiente correlacionif( summary(fit)$r.squared<0.9 ) print("PRECAUCION - r^2 del ajuste de la parte del metodo dinamico no tiene ningun 9")if( summary(fit)$r.squared<0.99 ) print("PRECAUCION - r^2 del ajuste de la parte del metodo dinamico tiene menos de un 9")

#chequeo coherencia entre partes A y Bif( abs(constante_muelle_metodo_dinamico-constante_muelle_metodo_estatico)/constante_muelle_metodo_estatico>0.2 ) print("PRECAUCION - los resultados para k del metodo estatico y del metodo dinamico distan entre si mas de un 20 por ciento")

# ---C y D - Calculos para la parte de determinacion de densidad de solidos y liquidos

#chequeo estadisticaif( (max(estiramiento_aire_metros)-min(estiramiento_aire_metros))/mean(estiramiento_aire_metros)>0.3 ) print("PRECAUCION - alguna medida de estiramiento_aire_metros podria desviarse mas de un 20 por ciento de la media")if( (max(estiramiento_aguadestilada_metros)-min(estiramiento_aguadestilada_metros))/mean(estiramiento_aguadestilada_metros)>0.3 ) print("PRECAUCION - alguna medida de estiramiento_aguadestilada_metros podria desviarse mas de un 20 por ciento de la media")if( (max(estiramiento_alcohol_metros)-min(estiramiento_alcohol_metros))/mean(estiramiento_alcohol_metros)>0.3 ) print("PRECAUCION - alguna medida de estiramiento_alcohol_metros podria desviarse mas de un 20 por ciento de la media")

#otros chequeos inicialesif ( min(length(estiramiento_aire_metros),length(estiramiento_aguadestilada_metros),length(estiramiento_alcohol_metros))<3 ) print("PRECAUCION - Pareces tener menos de 3 medidas de estiramiento_aire_metros, estiramiento_aguadestilada_metros, o estiramiento_alcohol_metros - deberias medir mas")if ( min(estiramiento_aire_metros,estiramiento_aguadestilada_metros,estiramiento_alcohol_metros)<=0 )

Page 35: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

print("ERROR - Hay alguna medida negativa o cero en la parte de la practica de determinar densidades")

#calculo densidadesdensidad_solido<-mean(estiramiento_aire_metros) / ( mean(estiramiento_aire_metros) - mean(estiramiento_aguadestilada_metros) )* densidad_aguadestiladadensidad_alcohol<-( mean(estiramiento_aire_metros) - mean(estiramiento_alcohol_metros) ) / ( mean(estiramiento_aire_metros) - mean(estiramiento_aguadestilada_metros) )* densidad_aguadestilada

#chequeo ordenes de magnitud del resultado finalif ( densidad_solido<=0 ) print("ERROR - La densidad del solido da negativa - cambiados Dx y Dx'?")if ( densidad_alcohol<=0 ) print("ERROR - La densidad del alcohol da negativa - cambiados Dx, Dx', y/o Dx''?")

if( (densidad_alcohol/1000>2) || (densidad_alcohol/1000<0.5) ) print("PRECAUCION - la densidad del alcohol es muy distinta de la del agua - unidades mal?")if( densidad_solido>20000 || densidad_solido<500 ) print("PRECAUCION - el resultado para la densidad del solido podria ser muy distinto al real - unidades mal? - mal sumergido? - no es plomo?")

#Tabla de medidas y calculos:

cat("\n")cat("\n")cat("-----------------------------------------------------------------------\n")cat("Tablas de medidas y calculos:\n")cat("\n")

cat("Obtencion de la constante elastica del muelle --- medidas para el metodo estatico:\n")TablaEstatico<-data.frame(masa_metodo_estatico_kilogramos,estiramiento_estatico_metros)print(TablaEstatico,print.gap=10,right=FALSE)cat("\n")

cat("Obtencion de la constante elastica del muelle --- medidas y calculos para el metodo dinamico:\n")TablaDinamico<-data.frame(masa_metodo_dinamico_kilogramos,tiempo_metodo_dinamico_seg,numerooscilaciones,periodo,periodo^2)print(TablaDinamico,print.gap=10,right=FALSE)cat("\n")

cat("Medidas para las densidades --- estiramiento del muelle con el peso en el aire (m):\n")cat(estiramiento_aire_metros,sep="\n")cat(sprintf("Promedio: %.3g\n",mean(estiramiento_aire_metros)))cat("\n")

cat("Medidas para las densidades --- estiramiento del muelle con el peso completamente sumergido en agua destilada (m):\n")cat(estiramiento_aguadestilada_metros,sep="\n")cat(sprintf("Promedio: %.3g\n",mean(estiramiento_aguadestilada_metros)))cat("\n")

cat("Medidas para las densidades --- estiramiento del muelle con el peso completamente sumergido en alcohol (m):\n")cat(estiramiento_alcohol_metros,sep="\n")cat(sprintf("Promedio: %.3g\n",mean(estiramiento_alcohol_metros)))cat("\n")

cat("La densidad del solido resulta de la formula\n")cat("estiramiento_aire_metros / ( estiramiento_aire_metros - estiramiento_aguadestilada_metros) * densidad_aguadestilada\n")cat("donde para los estiramientos tomaremos el promedio de los valores medidos.\n")cat(sprintf("El resultado es %.3g kg/m^3 = %.3g kg/l\n", densidad_solido, densidad_solido/1000 ))cat("\n")

cat("La densidad del alcohol resulta de la formula\n")cat("(estiramiento_aire_metros - estiramiento_alcohol_metros ) / ( estiramiento_aire_metros - estiramiento_aguadestilada_metros ) * densidad_aguadestilada\n")cat("donde para los estiramientos tomaremos el promedio de los valores medidos.\n")cat(sprintf("El resultado es %.3g kg/m^3 = %.3g kg/l\n", densidad_alcohol, densidad_alcohol/1000 ))cat("\n")

densidad_solido<-mean(estiramiento_aire_metros) / ( mean(estiramiento_aire_metros) - mean(estiramiento_aguadestilada_metros) )* densidad_aguadestiladadensidad_alcohol<-( mean(estiramiento_aire_metros) - mean(estiramiento_alcohol_metros) ) / ( mean(estiramiento_aire_metros) - mean(estiramiento_aguadestilada_metros) )* densidad_aguadestilada

cat("----------Fin Tablas de medidas y calculos------------------------------------------\n")

cat("\n")cat("\n")

cat("---------------------------------------------\n")

cat("Ver graficas GRAF-1 y GRAF-2, en ventanas aparte, para ver el calculo de las constantes elasticas por los metodos estatico y dinamico\n")

cat("---------------------------------------------\n")cat("RESULTADOS:\n")cat(sprintf("constante elastica del muelle - metodo estatico = %.3g kN/m\n", constante_muelle_metodo_estatico ))cat(sprintf("constante elastica del muelle - metodo dinamico = %.3g kN/m\n", constante_muelle_metodo_dinamico ))cat(sprintf("densidad del solido = %.3g kg/m^3 = %.3g kg/l \n", densidad_solido, densidad_solido/1000 ))cat(sprintf("densidad del alcohol = %.3g kg/m^3 = %.3g kg/l \n", densidad_alcohol, densidad_alcohol/1000 ))cat("---------------------------------------------\n")

cat("\n")cat("\n")cat("\n")cat("-------------------------FIN DEL REPORT---------PRACTICA DEL MUELLE-----------------------------------------------------------------\n")cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")cat("ATENCION: Debes repasar el report generado arriba\n")cat("Tambien, si aparecen mensajes de ERROR o PRECAUCION , debes repasar tus medidas y como las has introducido en el programa\n")cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")

#aviso finaldev.new()plot(c(0,1,0,1),c(0,0,1,1), xlab = "", ylab = "",frame=TRUE,axes=FALSE)text(0.5, 0.8, "NOTA IMPORTANTE:")text(0.5, 0.6, "Debes leer el report generado en")text(0.5, 0.4, "la ventana de la 'consola R'")text(0.5, 0.2, "y las 2 graficas generadas cada una en su ventana aparte")

Page 36: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

###################################################################################################### PUESTO DE INSTRUMENTACION:##¬† PENDULO DE KATER (c) Manuel V Ramallo, 2010#################################################################################################### ## comunicar errores o sugerencias a: [email protected]

## debes introducir tus mediciones en este fichero, guardarlo, y ejecutarlo en el entorno R## que esta disponible gratis en: http://cran.es.r-project.org/## para la ejecucion en R se usa el menu File>InterpretSourceFile... (Windows) ## o File>SourceFile...(en Mac)## debes repasar el informe que se genera tras la ejecucion## (todas las ventanas) <-------IMPORTANTE## luego debes enviar por email al profesor ## este fichero, <-------IMPORTANTE## modificado con tus mediciones, <-------IMPORTANTE## indicando los nombres de todos los alumnos autores del trabajo, <-------IMPORTANTE## el nombre de la practica, la fecha en que se realiza <-------IMPORTANTE## y el nombre de la carrera universitaria y universidad## si tienes comentarios incluyelos en el mail## si descartas datos envia un fichero con todos los datos y otro con solo los no descartados

## no tocar las dos siguientes lineas:rm(list=ls(all=TRUE)) #limpia anteriores sesiones Rgraphics.off() #cerrar posibles graficos anteriores

####################################################################################################################################################################################################################################################--AQUI EMPIEZA LA SECCION PARA INTRODUCIR TUS MEDICIONES:################################################################################

#TODOS LOS NUMEROS DEBEN ESTAR EN UNIDADES DEL SISTEMA INTERNACIONAL (tiempos en segundos, distancias en METROS)# no acabes los vectores en comas, o dara error. Ejemplo c(10,20,) esta mal.

# las distancias h1:

h1<-c(0.10,0.20,0.30,0.40)

# las distancias h2:

h2<-c(0.40,0.50,0.60,0.70)

# los tiempos tiempo1 que tarda el p!©ndulo en oscilar el numero de veces escogido (recomendado:15) cuando la distancia h1 esta hacia arriba:

tiempo1<-c(1000,2000,3000,4000)

# los tiempos tiempo1 que tarda el p!©ndulo en oscilar el numero de veces escogido (recomendado:15) cuando la distancia h2 esta hacia arriba:

tiempo2<-c(2000,4000,3000,1000)

# el programa supone que has dejado oscilar el p!©ndulo 15 oscilaciones. Si has usado otro numero, corrigelo en la siguientes linea:

numerooscilaciones<-rep(15, times=length(h1)) #si no usas siempre el mismo numero de oscilaciones usa c(xx,xx,xx,...) en vez de rep(xx, times=length(h1))

################################################################################################################################################################################################################################################################

####--PROGRAMA DE CALCULO (NO TOCAR):

cat("\n")cat("\n")

cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")cat("ATENCION: Debes repasar el report generado abajo\n")cat("Tambien, si aparecen mensajes de ERROR o PRECAUCION , debes repasar tus medidas y como las has

introducido en el programa\n")cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")cat("-------------------------INICIO DEL REPORT---------PRACTICA DEL PENDULO DE KATER-------------------------------------------\n")

#chequeos inicialesif ( max( length(h1), length(h2), length(tiempo1), length(tiempo2), length(numerooscilaciones) ) != min( length(h1), length(h2), length(tiempo1), length(tiempo2), length(numerooscilaciones) ) ){ print("ERROR - No el mismo numero de medidas para todas las variables")}if ( min(h1,h2,tiempo1,tiempo2)<=0 ) print("ERROR - Hay alguna medida negativa o cero")if ( min(h1-h2)<=0 ) print("ERROR - Hay alguna medida con h1<=h2")if ( length(h1)<10 ) print("PRECAUCION - Pareces tener menos de 10 medidas - si no es porque hayas descartado algunas, deberias medir mas")if ( length(h1)<3 ) print("ERROR - Tienes menos de 3 medidas de h1, y para un ajuste lineal necesitas al menos 3")if ( length(h1)<2 ) print("ERROR - Tienes menos de 2 medidas de h1, y el programa dara un error")

#calculo periodosperiodo1<-tiempo1/numerooscilaciones;periodo2<-tiempo2/numerooscilaciones;

#graficaejey<-h1^2-h2^2;ejex<-periodo1^2*h1-periodo2^2*h2;plot(ejex, ejey, xlab="T1^2 h1 - T2^2 h2 (s^2m)", ylab="h1^2 - h2^2 (m^2)")fit<-lm(ejey~ejex)abline(fit) texto<-sprintf("***GRAF-1*** Teoria: (h1^2-h2^2) = a+ b (T1^2h1-T2^2h2) con a=0, b=g/4pi^2, g=acel.gravedad\n")texto<-paste(texto,sprintf("Ajuste (linea continua): a = %.3g m^2, b=%.3g m/s^2, correlacion r^2=%.5g\n\n", fit$coefficients[[1]], fit$coefficients[[2]],summary(fit)$r.squared))texto<-paste(texto,sprintf("==> Resultado: g = %.3g m/s^2\n", fit$coefficients[[2]]*39.4784))mtext(texto,side=3,cex=0.8) mtext("[practica: pendulo de Kater]",side=4,cex=0.5,adj=0)

cat("\n")cat("La grafica GRAF-1, mostrada en ventana aparte, muestra la grafica (h1^2 - h2^2) frente a (T1^2 h1 - T2^2 h2)\n")cat("y tambien el valor de g obtenido del ajuste por minimos cuadrados correspondiente\n")cat("\n")cat("Si la distribucion de los puntos nos es uniforme, sino que dejan huecos grandes, debes plantearte tomar medidas que llenen esos huecos\n")

#chequeo coeficiente correlacionif( summary(fit)$r.squared<0.9 ) print("PRECAUCION - r^2 del ajuste no tiene ningun 9")if( summary(fit)$r.squared<0.99 ) print("PRECAUCION - r^2 del ajuste tiene menos de un 9")

#chequeo resultado finalif( fit$coefficients[[2]]*39.4784>20 ) print("ERROR - g sale mas de 20m/s^2 - unidades mal? - cuentas bien las oscilaciones?")if( fit$coefficients[[2]]*39.4784<5 ) print("ERROR - g sale menos de 5m/s^2 - unidades mal? - cuentas bien las oscilaciones?")

#Tabla de medidas y calculos:cat("\n")cat("Tabla de medidas y calculos:\n")cat("\n")Tabla<-data.frame(h1,tiempo1,periodo1,h2,tiempo2,periodo2,ejey,ejex)print(Tabla,print.gap=10,right=FALSE)

cat("\n")cat("\n")cat("\n")cat("-------------------------FIN DEL REPORT---------PRACTICA DEL PENDULO DE KATER----------------------------------------------\n")cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")cat("ATENCION: Debes repasar el report generado arriba\n")cat("Tambien, si aparecen mensajes de ERROR o PRECAUCION , debes repasar tus medidas y como las has

Page 37: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

introducido en el programa\n")cat("************************************************************************************************************************************\n")cat("************************************************************************************************************************************\n")

#aviso finaldev.new()plot(c(0,1,0,1),c(0,0,1,1), xlab = "", ylab = "",frame=TRUE,axes=FALSE)text(0.5, 0.8, "NOTA IMPORTANTE:")text(0.5, 0.6, "Debes leer el report generado en")text(0.5, 0.4, "la ventana de la 'consola R'")text(0.5, 0.2, "y la grafica generada en una ventana aparte")

####################################################################################################

## PUESTO DE INSTRUMENTACION:

## PICNOMETRIA y VISCOSIMETRO (c) Manuel V Ramallo, 2010

####################################################################################################

## comunicar errores o sugerencias a: [email protected]

## debes introducir tus mediciones en este fichero, guardarlo, y ejecutarlo en el entorno R

## que esta disponible gratis en: http://cran.es.r-project.org/

## para la ejecucion en R se usa el menu File>InterpretSourceFile... (Windows)

## o File>SourceFile...(en Mac)

## debes repasar el informe que se genera tras la ejecucion

## (todas las ventanas) <-------IMPORTANTE

## luego debes enviar por email al profesor

## este fichero, <-------IMPORTANTE

## modificado con tus mediciones, <-------IMPORTANTE

## indicando los nombres de todos los alumnos autores del trabajo, <-------IMPORTANTE

## el nombre de la practica, la fecha en que se realiza <-------IMPORTANTE

## y el nombre de la carrera universitaria y universidad

## si tienes comentarios incluyelos en el mail

## si descartas datos envia un fichero con todos los datos y otro con solo los no descartados

## no tocar las dos siguientes lineas:

rm(list=ls(all=TRUE)) #limpia anteriores sesiones R

graphics.off() #cerrar posibles graficos anteriores

################################################################################

################################################################################

################################################################################

####--AQUI EMPIEZA LA SECCION PARA INTRODUCIR TUS MEDICIONES:

################################################################################

#TODOS LOS NUMEROS DEBEN ESTAR EN UNIDADES DEL SISTEMA INTERNACIONAL (masas en Kg)

# no acabes los vectores en comas, o dara error . Ejemplo c(10,20,) esta mal.

# masa del picnometro lleno de agua destilada:

m_aguadestilada<-c(0.01213,0.02213,0.01231,0.022323)

# masa del picnometro lleno de agua destilada y con el solido en el plato

#(diferente cantidad de solido en cada medida):

m_aguadestilada_solidoenplato<-c(0.0123,0.0243,0.0154,0.026546)

# masa del picnometro lleno de agua destilada y el solido dentro del picnometro

#( OJO - mismas cantidades de solidos que las correspondientes de las medidas del solido en el plato,

# y escritas en el mismo orden !!):

m_aguadestilada_solidoenpicnometro<-c(0.01657,0.02324,0.0145,0.02566)

# masa del picnometro vacio

m_picnometrovacio<-c(0.01765,0.02234,0.01324,0.0256)

# masa del picnometro lleno de acetona:

m_acetona<-c(0.01763,0.02223,0.01545,0.0245)

# masa del picnometro lleno de alcohol:

m_alcohol<-c(0.01435,0.02676,0.014233,0.02876)

#tiempos de caida del agua en el viscosimetro

tiempos_aguadestilada<-c(254.00,543.04,244.59,456.19)

#tiempos de caida del alcohol en el viscosimetro

tiempos_alcohol<-c(254.00,543.04,244.59,456.19)

#tiempos de caida de la acetona en el viscosimetro

tiempos_acetona<-c(254.00,543.04,244.59,456.19)

#el programa supone una densidad_aguadestilada de 1kg/l=1000kg/m^3 y una viscosidad del agua destilada de

1cP=0.001kg/ms:

Page 38: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

densidad_aguadestilada=1000;

viscosidad_aguadestilada=0.001;

##############################################################################################################

##################

##############################################################################################################

##################

####--PROGRAMA DE CALCULO (NO TOCAR):

cat("\n")

cat("\n")

cat("*********************************************************************************************************

***************************\n")

cat("*********************************************************************************************************

***************************\n")

cat("ATENCION: Debes repasar el report generado abajo\n")

cat("Tambien, si aparecen mensajes de ERROR o PRECAUCION , debes repasar tus medidas y como las has

introducido en el programa\n")

cat("*********************************************************************************************************

***************************\n")

cat("*********************************************************************************************************

***************************\n")

cat("-------------------------INICIO DEL REPORT---------PRACTICA DE PICNOMETRIA Y

VISCOSIMETRO-------------------------------------------\n")

#chequeos iniciales

cat("\n")

if ( max( length(m_aguadestilada_solidoenplato), length(m_aguadestilada_solidoenpicnometro) ) !=

min( length(m_aguadestilada_solidoenplato), length(m_aguadestilada_solidoenpicnometro) ) ){

cat("====ERROR==== - No el mismo numero de medidas para m_aguadestilada_solidoenplato y

m_aguadestilada_solidoenpicnometro\n")}

if

( min(m_aguadestilada,m_aguadestilada_solidoenplato,m_aguadestilada_solidoenpicnometro,m_picnometrovacio,m_ace

tona,m_alcohol,tiempos_acetona,tiempos_aguadestilada,tiempos_alcohol)<=0 ) {

cat("====ERROR==== Hay alguna medida negativa o cero\n")}

if

( min( length(m_aguadestilada),length(m_acetona),length(m_alcohol),length(m_picnometrovacio),length(m_aguadest

ilada_solidoenplato),length(m_aguadestilada_solidoenpicnometro) )<4 ) cat("====PRECAUCION==== - Tienes menos

de 4 medidas para alguna de las masas\n")

if ( min( length(tiempos_acetona),length(tiempos_alcohol),length(tiempos_aguadestilada) )<3 )

cat("====PRECAUCION==== - Tienes menos de 3 medidas para alguno de los tiempos del viscosimetro\n")

if (min(m_aguadestilada_solidoenplato-m_aguadestilada_solidoenpicnometro)<=0) cat("====ERROR==== - En alguna

medida tienes m_aguadestilada_solidoenplato<=m_aguadestilada_solidoenpicnometro\n")

#Parte 1 - picnometro

cat("\n")

cat("--------------------------------\n")

cat("------- PARTE 1 - PICNOMETRO\n")

cat("--------------------------------\n")

cat("\n")

#medidas inciales

cat("--Medidas iniciales:\n")

cat("\n")

cat("Medidas de la masa del picnometro vacio (en kg):\n")

cat(m_picnometrovacio,sep="\n")

cat(sprintf("Promedio: < m_picnometrovacio > = %.3g kg\n", mean(m_picnometrovacio)))

if( (max(m_picnometrovacio)-min(m_picnometrovacio))/mean(m_picnometrovacio)>0.15 ) cat("====PRECAUCION==== -

alguna medida de m_picnometrovacio podria desviarse mas de un 10 por ciento del promedio\n")

cat("\n")

cat("Medidas de la masa del picnometro con agua destilada (en kg):\n")

cat(m_aguadestilada,sep="\n")

cat(sprintf("Promedio: < m_aguadestilada > = %.3g kg\n", mean(m_aguadestilada)))

if( (max(m_aguadestilada)-min(m_aguadestilada))/mean(m_aguadestilada)>0.15 ) cat("====PRECAUCION==== - alguna

medida de m_aguadestilada podria desviarse mas de un 10 por ciento del promedio\n")

cat("\n")

#medidas para la densidad de liquidos

cat("\n")

cat("--Medidas para la densidad de liquidos:\n")

cat("\n")

cat("Medidas de la masa del picnometro con alcohol (en kg):\n")

cat(m_alcohol,sep="\n")

cat(sprintf("Promedio: < m_alcohol > = %.3g kg\n", mean(m_alcohol)))

if( (max(m_alcohol)-min(m_alcohol))/mean(m_alcohol)>0.15 ) cat("====PRECAUCION==== - alguna medida de

m_alcohol podria desviarse mas de un 10 por ciento del promedio\n")

cat("\n")

cat("Medidas de la masa del picnometro con acetona (en kg):\n")

cat(m_acetona,sep="\n")

cat(sprintf("Promedio: < m_acetona > = %.3g kg\n", mean(m_acetona)))

if( (max(m_acetona)-min(m_acetona))/mean(m_acetona)>0.15 ) cat("====PRECAUCION==== - alguna medida de

m_acetona podria desviarse mas de un 10 por ciento del promedio\n")

cat("\n")

#calculo densidad de liquidos

cat("\n")

cat("--Resultados para la densidad de liquidos:\n")

cat("\n")

cat(sprintf("Usando la formula de los guiones, y un valor de la densidad del agua destilada de %.3g kg/m^3 =

%.3g kg/l, se obtiene\n", densidad_aguadestilada, densidad_aguadestilada/1000))

densidad_alcohol<-(mean(m_alcohol)-mean(m_picnometrovacio))/(mean(m_aguadestilada)-

mean(m_picnometrovacio))*densidad_aguadestilada;

densidad_acetona<-(mean(m_acetona)-mean(m_picnometrovacio))/(mean(m_aguadestilada)-

mean(m_picnometrovacio))*densidad_aguadestilada;

cat(sprintf("densidad del alcohol = %.3g kg/m^3 = %.3g kg/l \n", densidad_alcohol, densidad_alcohol/1000 ))

if( (densidad_alcohol/1000>2) || (densidad_alcohol/1000<0.5) ) cat("====PRECAUCION==== - la densidad del

alcohol es muy distinta de la del agua - unidades mal?\n")

cat(sprintf("densidad de la acetona = %.3g kg/m^3 = %.3g kg/l \n", densidad_acetona, densidad_acetona/1000 ))

if( (densidad_acetona/1000>2) || (densidad_acetona/1000<0.5) ) cat("====PRECAUCION==== - la densidad de la

acetona es muy distinta de la del agua - unidades mal?\n")

#medidas y calculo de la densidad del solido

cat("\n")

cat("--Medidas para la densidad del solido (Pb):\n")

cat("\n")

cat("Medidas de la masa del picnometro con agua destilada y el solido en el picnometro,\n")

cat("y del picnometro con agua destilada y el solido en el plato (todo en kg)\n")

cat("(cada fila debe corresponder a la misma cantidad de solido!)\n")

cat("y densidades (en kg/m^3) obtenidas de cada par de esas medidas, aplicando la formula de los guiones:\n")

cat("\n")

densidad_solido<-(m_aguadestilada_solidoenplato-mean(m_aguadestilada))/(m_aguadestilada_solidoenplato-

m_aguadestilada_solidoenpicnometro)*densidad_aguadestilada;

TablaSolido<-data.frame(m_aguadestilada_solidoenpicnometro,m_aguadestilada_solidoenplato,densidad_solido)

print(TablaSolido,print.gap=10,right=FALSE)

if( (max(densidad_solido)-min(densidad_solido))/mean(densidad_solido)>0.15 ) cat("====PRECAUCION==== - alguna

medida podria dar una densidad_solido que se desvia mas de un 10 por ciento del promedio de todas las medidas

\n")

cat("\n")

cat("--Resultados para la densidad del solido (Pb):\n")

cat("\n")

cat(sprintf("Promedio de las densidades del solido (Pb): < densidad_solido > = %.3g kg/m^3 = %.3g kg/l \n",

mean(densidad_solido), mean(densidad_solido)/1000 ))

if( densidad_solido>20000 || densidad_solido<500 ) cat("====PRECAUCION==== - el resultado para la densidad

del solido es muy distinto al real - unidades mal?\n")

#Parte 2 - viscosimetro

cat("\n")

cat("--------------------------------\n")

cat("------- PARTE 2 - VISCOSIMETRO\n")

cat("--------------------------------\n")

cat("\n")

#medidas de calibracion del viscosimetro con agua destilada

cat("\n")

cat("--Medidas para la calibracion del viscosimetro: tiempos de flujo para el agua destilada (s):\n")

cat("\n")

cat(tiempos_aguadestilada,sep="\n")

Page 39: MANUAL DE LABORATORIO PARA LA ASIGNATURA FÍSICA I

cat(sprintf("Promedio: < tiempos_aguadestilada > = %g s \n", mean(tiempos_aguadestilada)))

if( (max(tiempos_aguadestilada)-min(tiempos_aguadestilada))/mean(tiempos_aguadestilada)>0.15 )

cat("====PRECAUCION==== - alguna medida de tiempos_aguadestilada podria desviarse mas de un 10 por ciento del

promedio\n")

cat("\n")

cat("--Resultados para la cte de calibracion del viscosimetro:\n")

cat("\n")

cat("Segun el guion, es: (tiempo de flujo) = (cte de calibracion) * (densidad del liquido) * (viscosidad del

liquido)\n")

cat(sprintf("asi que usando como datos la densidad del agua destilada = %.3g kg/m^3 = %.3g kg/l \n",

densidad_aguadestilada, densidad_aguadestilada/1000))

cat(sprintf("y la viscosidad del agua destilada = %.3g kg/ms = %.3g centipoise \n",viscosidad_aguadestilada,

viscosidad_aguadestilada*1000))

constante_viscosimetro=viscosidad_aguadestilada/densidad_aguadestilada/mean(tiempos_aguadestilada)

cat(sprintf("despejando de la formula obtenemos cte de calibracion = %.3g kg/ms^2 = %.3g centipoise/s \n",

constante_viscosimetro, constante_viscosimetro*1000 ))

#medidas para la viscosidad de la acetona

cat("\n")

cat("--Medidas para la viscosidad de la acetona:\n")

cat("\n")

cat("Medidas de los tiempos de flujo para el acetona (s):\n")

cat("\n")

cat(tiempos_acetona,sep="\n")

cat(sprintf("Promedio: < tiempos_acetona > = %g s \n", mean(tiempos_acetona)))

if( (max(tiempos_acetona)-min(tiempos_acetona))/mean(tiempos_acetona)>0.15 ) cat("====PRECAUCION==== - alguna

medida de tiempos_acetona podria desviarse mas de un 10 por ciento del promedio\n")

cat("\n")

cat("--Resultados para la viscosidad de la acetona:\n")

cat("\n")

cat("Usando la formula (tiempo de flujo) = (cte de calibracion) * (densidad del liquido) * (viscosidad del

liquido)\n")

cat("y usando la cte de calibracion obtenida antes, y la densidad de la acetona tambien obtenida antes\n")

viscosidad_acetona=constante_viscosimetro*densidad_acetona*mean(tiempos_acetona)

cat(sprintf("se llega ahora a una viscosidad de la acetona = %.3g kg/ms = %.3g centipoise \n",

viscosidad_acetona, viscosidad_acetona*1000 ))

if( (viscosidad_acetona>100*viscosidad_aguadestilada) || (viscosidad_acetona<0.01*viscosidad_aguadestilada) )

cat("====PRECAUCION==== - la viscosidad de la acetona da muy distinta de la del agua destilada - unidades

mal?\n")

#medidas para la viscosidad del alcohol

cat("\n")

cat("--Medidas para la viscosidad del alcohol:\n")

cat("\n")

cat("Medidas de los tiempos de flujo para el alcohol (s):\n")

cat("\n")

cat(tiempos_alcohol,sep="\n")

cat(sprintf("Promedio: < tiempos_alcohol > = %g s \n", mean(tiempos_alcohol)))

if( (max(tiempos_alcohol)-min(tiempos_alcohol))/mean(tiempos_alcohol)>0.15 ) cat("====PRECAUCION==== - alguna

medida de tiempos_alcohol podria desviarse mas de un 10 por ciento del promedio\n")

cat("\n")

cat("--Resultados para la viscosidad del alcohol:\n")

cat("\n")

cat("Usando la formula (tiempo de flujo) = (cte de calibracion) * (densidad del liquido) * (viscosidad del

liquido)\n")

cat("y usando la cte de calibracion obtenida antes, y la densidad del alcohol tambien obtenida antes\n")

viscosidad_alcohol=constante_viscosimetro*densidad_alcohol*mean(tiempos_alcohol)

cat(sprintf("se llega ahora a una viscosidad del alcohol = %.3g kg/ms = %.3g centipoise \n",

viscosidad_alcohol, viscosidad_alcohol*1000 ))

if( (viscosidad_alcohol>100*viscosidad_aguadestilada) || (viscosidad_alcohol<0.01*viscosidad_aguadestilada) )

cat("====PRECAUCION==== - la viscosidad del alcohol da muy distinta de la del agua destilada - unidades mal?

\n")

cat("\n")

cat("\n")

cat("------------------------------------------------------------------------------------------\n")

cat("Un Resumen de RESULTADOS:\n")

cat(sprintf("densidad del material solido (Pb) = %.3g kg/m^3 = %.3g kg/l \n", mean(densidad_solido),

mean(densidad_solido)/1000 ))

cat(sprintf("densidad del alcohol = %.3g kg/m^3 = %.3g kg/l \n", densidad_alcohol, densidad_alcohol/1000 ))

cat(sprintf("densidad de la acetona = %.3g kg/m^3 = %.3g kg/l \n", densidad_acetona, densidad_acetona/1000 ))

cat(sprintf("viscosidad del alcohol = %.3g kg/ms = %.3g centipoise \n", viscosidad_alcohol,

viscosidad_alcohol*1000 ))

cat(sprintf("viscosidad de la acetona = %.3g kg/ms = %.3g centipoise \n", viscosidad_acetona,

viscosidad_acetona*1000 ))

cat(sprintf("constante de calibracion del viscosimetro = %.3g kg/ms^2 = %.3g centipoise/s \n",

constante_viscosimetro, constante_viscosimetro*1000 ))

cat("------------------------------------------------------------------------------------------\n")

cat("\n")

cat("\n")

cat("\n")

cat("-------------------------FIN DEL REPORT---------PRACTICA DE PICNOMETRIA Y

VISCOSIMETRO----------------------------------------------\n")

cat("*********************************************************************************************************

***************************\n")

cat("*********************************************************************************************************

***************************\n")

cat("ATENCION: Debes repasar el report generado arriba\n")

cat("Tambien, si aparecen mensajes de ERROR o PRECAUCION , debes repasar tus medidas y como las has

introducido en el programa\n")

cat("*********************************************************************************************************

***************************\n")

cat("*********************************************************************************************************

***************************\n")

#aviso final

dev.new()

plot(c(0,1,0,1),c(0,0,1,1), xlab = "", ylab = "",frame=TRUE,axes=FALSE)

text(0.5, 0.7, "NOTA IMPORTANTE:")

text(0.5, 0.5, "Debes leer el report generado en")

text(0.5, 0.3, "la ventana de la 'consola R'")