Vous êtes sur la page 1sur 5

GUION PARA EL LABORATORIO PRESENCIAL VIRTUAL 2: USO DE OCTAVE

CON FICHEROS Y CON VISUALIZACIÓN TRIDIMENSIONAL

En este documento se establece la programación provisional que se seguirá para la realización


de la práctica presencial virtual. Se considera provisional porque, si durante la realización de la
misma, se ve que hay partes del guion que requieren más tiempo para su comprensión por los
alumnos, o bien, si sucede lo contrario, podrá verse sometida a cambios sobre la marcha.

OBJETIVO DEL LABORATORIO

El objetivo principal es profundizar en el uso de Octave y aprender a utilizarlo para hacer


representaciones tridimensionales. Un segundo objetivo es ilustrar los métodos de que
dispone Octave para tratar con funciones y realizar distintos cálculos estadísticos, como las
regresiones lineales. Finalmente, se hará una introducción breve a cómo funcionan los gráficos
en 3D. Por ello, se establece la siguiente división en bloques de las dos horas de prácticas.

BLOQUE 0: PREPARACIÓN DEL ENTORNO PARA CREAR FICHEROS M PROPIOS

• Descargar archivo con funciones de ejemplo que se suministrará en el laboratorio


• Crear una carpeta octave-m en el sitio del disco duro donde cada alumno desee
• Grabar allí los archivos m.
• Usar el comando what para saber qué funciones hay
• Los archivos de funciones (se llaman igual que la función) NO es necesario cargarlos.
• Los archivos de script sí hace falta cargarlos escribiendo el nombre del archivo.
(Ver como ejemplo funciones1.m –script- y muestra.m –función-).
• En el resto de este bloque se harán pruebas con los archivos de muestra.
• Creación de un archivo de script para hacer representaciones 2D
• Comando: history –w “archivo.txt”

BLOQUE 1: CAMPOS ELÉCTRICOS Y MAGNÉTICOS Y SU REPRESENTACIÓN

En este bloque se usarán una serie de funciones y scripts que ya vienen en el zip de ejemplo y
se crearán funciones “en línea”:

1) Creación de una función en línea. Ejemplos:

Function y=polinomio2(a,b,c,x)

Y=a*(x**2)+b*x+c

End
Function y=polinomio2vector(a,b,c,X)

Y= a.*(X.**2)+b.*X+.c

End

Pintar usando polinomio2vector

X=[0:0.05:10]

Plot(X,polinomio2vector(2,3,1,X)

2) Cargar funciones desde un archivo m

Directorio c:\octave-m

Comando “what”: muestra los m ficheros del directorio

El comando “nombrearchivo” refresca las formas de las funciones.

3) Crear un archivo de función

Mostrar fcoulomb.m

Crear en línea el m fichero celectrico.m (similar a fcoulomb.m)

4) Crear archivo para representación 2D de fuerza de coulomb y de campo eléctrico

R=[0.1:0.05:20]

Plot(R,fcoulomb(0.0001,0.0002,R) - Idem celectrico-

Mejoras a plot: Mostrar dos elementos en el mismo gráfico y ponerles título

Plot(R,fcoulomb(0.0001,0.01,R),”-;Fuerza electrica;”,R,celectrico(0.0001,R),”+;Campo
eléctrico;”)

Practicar con estos plots.

Y con este:

plot(R,fcoulomb(0.01,0.01,R), "-;Fuerza 1;", R, fcoulomb(0.1,0.1,R),"+;Fuerza


2;",R,fcoulomb(0.01,0.01,R).+fcoulomb(0.1,0.1,R),"*;Suma;")
BLOQUE 2: CREACIÓN Y USO DE FUNCIONES EN OCTAVE

En este bloque se abordará la creación de funciones complejas. Se estudiarán archivos m con


los siguientes contenidos:

• Fórmulas de regresión lineal.


• Error al determinar la g en el laboratorio.

NOTA: Recordatorio de las fórmulas:

Regresión lineal

Los valores de y se calculan a partir de los datos con las siguientes fórmulas. En estas
ecuaciones se supone que:

• Hay N medidas.
• Las son los valores de la variable dependiente, las que se dibujarán en el eje x. Se
numeran desde 1 hasta N.
• Las son los valores de la variable independiente, los que se dibujarán en el eje y. Se
numeran desde 1 hasta N.

Los coeficientes y son:

∑ − (∑ )(∑ )
=
∑ − (∑ )

∑ − (∑ )
=

El método de ajuste por mínimos cuadrados supone que no hay error en la variable
independiente; por eso, el error en y se calcula sólo en función de los errores de los
valores de . Si es el máximo de todos los errores en la variable dependiente (las ), el
error en y es:


∆ =
∑ − ∑

∆ =

Finalmente, un parámetro importante es el coeficiente de correlación lineal, , dado por:


∑ − (∑ )(∑ )
=
[ ∑ − (∑ ) ][ ∑ − (∑ ) ]

Error en la g

4 −8
∆ = ∆ + "

BLOQUE 3: GRAFICOS EN 3D

Curvas:

t = [0:pi/50:10*pi];

plot3(exp(-0.01*t).*sin(t), exp(-0.01*t).*cos(t), t)

xlabel(’x’), ylabel(’y’), zlabel(’z’), grid(’on’), replot

Superficies:

# Superficie en 3D

x = [-2:0.1:2]; y = x;

[X, Y] = meshgrid(x,y);

Z = X.*exp(-((X-Y.**2).**2+Y.**2));

mesh(X,Y,Z), xlabel('x'), ylabel('y'), zlabel('z')

FINALIZACIÓN Y ENTREGA DE INFORME DEL LABORATORIO

La entrega del laboratorio para su evaluación consistirá en un documento donde se incluirán


los siguientes ejercicios:

BLOQUE 0:

• Incluir la representación gráfica de la función polinomio5grado (que está en el script


funciones1.m, que debe cargarse previamente) para los siguientes valores:

a=2, b=1, c=-2, d=4, e=2, f=1.5


Usar como valores de X el intervalo de -5 a 5 con un intervalo entre puntos de 0.05.
• Crear un m fichero llamado ondasinusoidal.m que acepte como parámetros A, Om, T y
Fase y devuelva el valor de:

= # $%&('( ∗ + * $%)

Donde T será una matriz de tiempos (algo del estilo: T=[0:0.1:10]). Probarlo en el
propio Octave y copiar y pegar el código fuente.

BLOQUE 1:

Generar un gráfico con tres curvas:

Para un intervalo R=[0.1:0.005:3] dibujar:

a) Fuerza que sobre una partícula de 0,1C crea otra de 1C

b) Fuerza que sobre una partícula de 0,01C crea otra de -1C

c) Suma de ambas.

BLOQUE 2:

Escribir una función para el cálculo del error en el cálculo de la equivalencia en agua del
calorímetro:

− " −( − " ) 1
∆+ = ∆( + , , ∆( + ,( ,∆ + ,( ,∆
"− ( "− ) "−

+ ,( ,∆ "
( "− )

Usar como variables de entrada m1, m2, t1, t2, t3, ∆( y ∆ . Considerar que:

∆( = ∆( = ∆(

∆ =∆ =∆ " =∆

O sea, que los errores en las masas son iguales, así como los errores en las temperaturas. Es lo
lógico si se ha usado la misma balanza para las masas y el mismo termómetro para las
temperaturas.

BLOQUE 3:

Ejecutar una vez cada script (curvas3D y superficies3D) con otros parámetros (otros valores
para el vector t en el código) para las funciones.

Vous aimerez peut-être aussi