Está en la página 1de 9

TEORIA:

los ciclos nos permiten repetir determinadas acciones dentro de un programa, bien sean
por un cierto número de veces o hasta que una condición se satisfaga: los ciclos por
elementos, comúnmente conocidos como ciclos for, y los ciclos por condiciones, también
llamados ciclos while.
CICLO FOR: NUMERO DEL 1-10

CICLO WHILE: NUMEROS MENOR QUE 45

ciclos while se diferencian de los ciclos for en el hecho de que estos se ejecutan siempre y cuando
una cierta condicion se satisfaga. Note que while traduce al español como mientras. Así pues,
puede decirse que estos ciclos podría ser ejecutados infinitamente mientras la condición nunca
deje de satisfacerse. Por ejemplo, consideremos el siguiente pseudo-codigo bastante “cercano” al
lenguaje Python, en el que se plantea sumar todos los numeros enteros positivos menores o
iguales que 45.

Proporcionalidad directa: entre dos cantidades con relación crecientes existe proporcionalidad
directa si el cociente entre cualquier par de valores correspondientes de ellas es siempre el
mismo; este cociente lo llamamos constante de proporcionalidad. Observe que en este caso, el
aumento en una cantidad por unidad de la otra es precisamente dicha constante. En consecuencia,
si representamos las cantidades mediante las variables y y x, el modelo que representa las
cantidades con relación proporcional directa (y ∝ x)

Proporcionalidad inversa: entre dos cantidades con relación decrecientes existe proporcionalidad
inversa si el producto entre cualquier par de valores de ellas es siempre el mismo, este producto
lo llamamos constante de proporcionalidad. el aumento en una cantidad por unidad del inverso de
la otra es precisamente dicha constante. En consecuencia, si representamos las cantidades
mediante las variables y y x, el modelo que representa las cantidades con relación proporcional
inversa (y ∝ 1/ x ) seria, xy = k, o equivalentemente, y = k 1/ x ,

In(Y)=x calcular el log de y contra x (lineal después de aplicar log)

import numpy as np
import matplotlib.pyplot as plt
# del sistema de ecuaciones diferenciales
def edo_ejemplo(x,y): # Dos argumentos
dx_dt = x*(y-1)
dy_dt = 2-x**2-y**2
return dx_dt, dy_dt # Dos salidas
para graficar:
Graficar el resultado de la regresión junto con los datos (SE MUESTRA
EL GRAFICO DE LOS DATOS ORIGINALES Y LA REGRESION LINEAL)
plt.plot( volumen, presion, 'o', label='observaciones')
plt.plot( volumen, presion_volumen_modelo, '-', label='regresión')
#se pone la predicción del modelo

plt.xlabel('presion')
plt.ylabel('volumen')
plt.legend(loc='lower right')
plt.title('1/V VS P')
plt.grid()
plt.show()
#EL AJUSTE LINEAL SI DESCRIBE ADECUADAMENTE LOS DATOS PUES SU
REGRESIÓN MUESTRA QUE LOS DATOS ORIGINAL ESTAN CERCA DE LA REGRESIÓN.

plt.plot(distancia, modelo, 'o', label='modelo')DESPUES DE AJUSTE


LINELA
plt.plot(distancia, intensidad,'o', label ='Datos')(PRIMERO EJE X,
DESPUES EJE Y, TIPO DE PUNTO , LEYENDA= DATOS)
plt.xlabel('distancia')
plt.ylabel('intensidad')
plt.title('modelo')
plt.grid()
plt.legend()
plt.show()
diferencia_porc = 100*np.abs((intensidad-modelo)/intensidad)

plt.figure(figsize = (5,2.8))
plt.style.use ('default')
plt.plot(distancia, diferencia_porc,'-', label = ' diferencial Y')
plt.xlabel('distancia ($m$)')
plt.ylabel('diferencia_porc')
plt.title('Comparación de diferencial vs modelo')
plt.grid()
plt.legend()
plt.show()
# definir variable
a=2
if ( a > 0 ) :
resultado = ’el numero es positivo ’
else : resultado = ’el numero NO es positivo ’
print ( resultado )
d.pa

Haga un resumen de los conceptos teóricos relacionados con las generalidades


de los modelos matemáticos

Respuesta: Son aquellos modelos realizados con base de ecuaciones que


permiten el desarrollo de una hipotesis planteada, usados especificamente para el
planteamiento de un fenomeno.

2. Describa los pasos más importantes para la implementación en python de


repetición de tareas (ciclos for y while)

Respuesta: Es necesario generar una lista o un arreglo que te permita conocer los
datos. Luego debemos plantear el ciclo for o while para los elementos contenidos
en la lista o arreglo, asimismo se debe plantear si existen condiciones dentro del
ciclo y por ultimo se plantea la suma que permite que el ciclo se lleve a cabo para
imprimirlo.
3. Describa los pasos más importantes para la implementación en python del
algoritmo de regresión lineal por minimos cuadrados

4. Indique las etapas mínimas de la construcción de un modelo matemático

Respuesta:
Los pasos mas importantes para realizar un modelo son: analizar el problema,
obtener los datos orginales, graficar los datos originales para saber la
proporcinalidad entre las variables, plantear una hipotesis, realizar el cambio de
variable para confirmar o refutar la hipotesis planteada, realizar la regresion lineal
la cual se debe a encontrar la linea que se ajuste mas a los puntos y que su
distancia entre la linea y el punto (dato) sea minima, crear el modelo y ejecutarlo.

4. Describa las características de los modelos matemáticos de acuerdo con


la clasificación en modelos continuos y discretos.

Respuesta:

Los modelo matematicos son aquellos que describen la realidad de forma


simplificada mediante ecuaciones y relaciones matematicas, hay varios tipos de
modleos matematicos, uno de estos son los continuos y discretos, que son los
que se relizan con numeros enteros o con numeros reales.

Haga un resumen de los conceptos teóricos relacionados con la regresión lineal por
mínimos cuadrados:

Respuesta: setrata de establecer una relación entre una variable


independiente y su correspondiente variable dependiente. Esta
relación se expresa como una línea recta.
(**10%**) Indique las etapas mínimas de la construcción de un modelo
matemático

**Respuesta:** 1. Inicio
2. Planteo de problema
3. describe situación
4. se usan supuestos, parametros, datos
5. planteo de modelo
6. resolución del modelo
7. solución es correcta o no, si lo es seguir, si no lo es, plantear
de nuevo el modelo
8. aplicar modelo
9. ¿existe un nuevo problema?
10. fin
Codigo.pacl
#Importo librerias a usar
import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as stat

# Importa las librerias necesarias


import numpy as np
import matplotlib.pyplot as plt

datos_recuperados = np.loadtxt('Datos_Grupo-09am.dat')
np.loadtxt('Datos_Grupo-09am.dat')
distancia = datos_recuperados [:, 0] # toda la primera columna (m)
intensidad = datos_recuperados [:, 1] # toda la segunda columna (cm)

print('distancia=', distancia)
print('intensidad=',intensidad)

#Carga de datos
datos_CS = np.loadtxt('Datos_P01_Gr09am.dat')
print('\n\n', datos_CS[0:10, :], '\n ...')
Graficar los datos dados
Temperatura_K = datos_CS[:,0]
Cv = datos_CS[:,1]

plt.figure(figsize = (5,2.8))
plt.style.use('default')
plt.plot(Temperatura_K, Cv , marker='.')
plt.xlabel('T ($K$)')
plt.ylabel('Cv ($J/(mol*K)$)')
plt.title('Gráfica Cv $vs$ T')
plt.grid()
plt.show()
#Planteo del modelo para confirmar la hipotesis
#si la hipotesis es potencial debo usar ln(y)=ln(b)+a⋅x

ln_T= np.log(Temperatura_K)
ln_Cv= np.log(Cv)

# Negación de hipotesis
plt.figure(figsize = (5,2.8))
plt.style.use('default')

plt.plot(Temperatura_K, ln_Cv, marker='.' , linestyle=':')

plt.xlabel('T($K$)')
plt.ylabel('ln Cv($J/(mol*K)$)')
plt.title('Hipotesis Exponencial')
plt.grid()
plt.show()

#Confirmación de hipotesis
plt.figure(figsize = (5,2.8))
plt.style.use('default')

plt.plot(ln_T, ln_Cv, marker='.' , linestyle=':')

plt.xlabel('ln T($K$)')
plt.ylabel('ln Cv($J/(mol*K)$)')
plt.title('Hipotesis Potencial')
plt.grid()
plt.show()
#Regresión lineal para determinar el modelo
Regresion_lineal = stat.linregress(ln_T, ln_Cv)

B = Regresion_lineal.intercept #el intercepto


m = Regresion_lineal.slope # la pendiente

b = np.exp(B) #Obtengo el valor deseado b

print('Valor estimado de la pendiente: m = %6.2f K' % m)


print('Valor estimado del intercepto: b = %6.2f J/(mol*K)' % B, '\n')
Regresion = B+(m*ln_T)

#Grafica comparativa de regresión


plt.plot(ln_T, ln_Cv, marker='.' , linestyle=':', label = 'datos')
plt.plot(ln_T, Regresion, label = 'datos regresión')

plt.xlabel('ln T($K$)')
plt.ylabel('ln Cv($J/(mol*K)$)')
plt.title('Regresión Lineal')
plt.grid()
plt.legend()
plt.show()
#Datos para la Tabla

TK = np.arange(10, 220, 5)
Temperatura_C = TK- 273.15
CV = B + (m*Temperatura_C)
CvK = B + (m*TK)
#Datos en lista
Tabla_datos = np.column_stack([TK, Temperatura_C, CvK])
encabezado = np.column_stack(['T (k)], T (°C), Cv'])
#Muestra de datos
print(' T (k) T (°C) Cv')
print(Tabla_datos)

nombre_archivo = 'Resultados_analisis.dat'
encabezado = ' T (k) T (°C) Cv'
np.savetxt(nombre_archivo, Tabla_datos, delimiter='\t',
header=encabezado, fmt='%12.4f')
plt.figure(figsize = (5.5,3.5))
plt.plot(TK, CvK, color= 'green', linestyle = '-')
plt.plot(Temperatura_K, Regresion, marker='.' , linestyle=':')
plt.xlabel('T$(°C)$')
plt.ylabel('Cv$(J/(mol*K))$')
plt.title('Cv en función de la temperatura (modelo)')
plt.grid()
plt.show()

plt.savefig('Resultados_analisis.jpg', dpi=150)

10%) Defina los siguientes conceptos: (i) sistema dinámico determinista,

Es aquel en el que sus parámetros no son fijos sino que dependen de una variable independiente
que suele ser el tiempo.

(ii) puntos de equilibrio y puntos de silla.

el punto sobre una superficie en el que la pendiente es cero pero no se trata de un extremo
local (máximo o mínimo). Es el punto sobre una superficie en el que la elevación es máxima
en una dirección y mínima en la dirección perpendicular. Y punto de equilibrio es una solución
constante a una ecuación diferencial.

(iii) probabilidad frecuentista,

(iv) variable aleatoria.


Guardas datos: Almacene en el archivo de texto 'Resultados_analisis.dat' una tabla que contenga los datos de temperatura en K, temperatura en
Celsius y calor específico correspondientes al rango de 10 a 220 K en pasos de 5 K. Guarde también la gráfica de estos datos junto con los datos originales en un

archivo del mismo nombre y de extensión jpg

TK = np.arange(10, 220, 5)

Temperatura_C = TK- 273.15


CV = B + (m*Temperatura_C)
CvK = B + (m*TK)
#Datos en lista
Tabla_datos = np.column_stack([TK, Temperatura_C, CvK])
encabezado = np.column_stack(['T (k)], T (°C), Cv'])
#Muestra de datos
print(' T (k) T (°C) Cv')
print(Tabla_datos)

nombre_archivo = 'Resultados_analisis.dat'
encabezado = ' T (k) T (°C) Cv'
np.savetxt(nombre_archivo, Tabla_datos, delimiter='\t',
header=encabezado, fmt='%12.4f')

También podría gustarte