CoCalc Public FilesOffreDemande.sagewsOpen with one click!
Author: Juan Carlos Bustamante
Views : 61
Compute Environment: Ubuntu 18.04 (Deprecated)

Un modèle pour la loi de l'offre et la demande

Le théorème de la toile d'araignée.

On donne quelques valeurs numériques, pour illustrer.

a = 15 b = -1.5 a_1 = 1 b_1 = 1.2

On définit la fonction de demande, et d'offre.

var('p') def D(p): return a+b*p def S(p) : return a_1 + b_1 * p
p

On calcule le prix d'équilibre, on initialise le prix initial p0p_0, et on spécifie le nombre de points voulus, NN

p_e= (a_1-a)/(b-b_1) p_0=1 N=20
p_e p_0
5.18518518518519 1
Prix = [(p_0-p_e)*(b_1/b)^t +p_e for t in range(N)]
Pts =[ (k, Prix[k]) for k in range(N)]
PxLine= line(Pts, color='red', linestyle ="dashed") Pe = plot(p_e, 0, N, color='blue', linestyle = "dashed") C1 = plot((p_0-p_e)*(-b_1/b)^x+p_e, (x,0, N), color='green', linestyle = "dotted") C2 = plot(-(p_0-p_e)*(-b_1/b)^x+p_e, (x,0, N), color='green', linestyle = "dotted") C = plot((p_0-p_e)*(b_1/b)^floor(x)+p_e, (x,0, N), color='red') show(PxLine+ Pe+C1 + C2+ C, axes_labels=['$t$','$p(t)$'], ticks=[[],[]])
def F(x) : return (a_1 - a)/b + (b_1/b)*x
Offre = plot(S(x),(0,10), color="red", legend_label = "Offre") Demande = plot(D(x),(0,10), color="blue", legend_label = "Demande") show(Offre + Demande, figsize=6)

On rajoute le diagramme de la toile d'araignée.

Points = [(Prix[0],S(Prix[0]))] for i in range(10) : Points = Points + [(Prix[i+1], D(Prix[i+1])), (Prix[i+1], S(Prix[i+1]))]
Toile = line(Points, color='green') show(Offre + Demande + Toile)
f268a7dd-b8f6-4f25-bd0b-bcec73be3eaf