Usuario
Desarrolla un algoritmo con python del punto de equilibrio
de las funciones de demanda y oferta con datos ficticios y que las funciones no
sean lineales
CHATGPT
import numpy as np
from scipy.optimize import fsolve
import matplotlib.pyplot as plt
# Función de demanda (ficticia, en términos cuadráticos)
def demand_function(price):
return 100 - 2 *
price + 0.5 * price**2
# Función de oferta (ficticia, en términos cuadráticos)
def supply_function(price):
return -20 + 3 *
price - 0.1 * price**2
# Encontrar el punto de equilibrio
def equilibrium_price():
def
equation_to_solve(price):
return
demand_function(price) - supply_function(price)
# Aproximación
inicial para encontrar la raíz
initial_guess =
10
# Encontrar la
raíz (punto de equilibrio)
equilibrium_price = fsolve(equation_to_solve, initial_guess)
return
equilibrium_price[0]
# Crear un rango de precios
prices = np.linspace(0, 50, 100)
# Calcular la demanda y la oferta para cada precio
demand = demand_function(prices)
supply = supply_function(prices)
# Encontrar el punto de equilibrio
equilibrium = equilibrium_price()
equilibrium_demand = demand_function(equilibrium)
equilibrium_supply = supply_function(equilibrium)
# Graficar las funciones de demanda y oferta
plt.figure(figsize=(8, 6))
plt.plot(prices, demand, label='Demanda')
plt.plot(prices, supply, label='Oferta')
plt.axvline(x=equilibrium, color='r', linestyle='--',
label='Equilibrio')
plt.scatter(equilibrium, equilibrium_demand, color='r')
plt.scatter(equilibrium, equilibrium_supply, color='r')
plt.xlabel('Precio')
plt.ylabel('Cantidad')
plt.title('Funciones de Demanda y Oferta')
plt.legend()
plt.grid(True)
plt.show()
print(f"El precio de equilibrio es:
{equilibrium}")
print(f"La cantidad demandada en equilibrio es:
{equilibrium_demand}")
print(f"La cantidad ofrecida en equilibrio es:
{equilibrium_supply}")
improvement from the last ten iterations.
warnings.warn(msg, RuntimeWarning
Conclusion
El
precio de equilibrio es: 4.1692243303444245
La
cantidad demandada en equilibrio es: 100.3527670976791
La
cantidad ofrecida en equilibrio es: -9.230570160640317
https://chat.openai.com/share/335a2991-df1b-47f1-b14f-7bc166dabfaf
0 comentarios:
Publicar un comentario