Python+經濟學:成本函數(shù)與圖像

Python+經濟學:成本函數(shù)與圖像

前言:

本文可以說是上一篇文章的“姊妹篇”,同樣利用一元二次函數(shù)圖像的性質,構造邊際成本函數(shù)(Marginal Cost Function),然后在此基礎上還原各種成本函數(shù)。為了讓函數(shù)構造更加精準。筆者首先進行了一個簡單的函數(shù)繪圖作為調試環(huán)節(jié)。

調試環(huán)節(jié)——簡單的一元二次函數(shù)與其軸對稱圖形繪制:

函數(shù)1: [公式]

函數(shù)2: [公式]

函數(shù)3: [公式]

Y1與Y2關于x軸對稱,而Y3則確保Y2上移后最小值大于零。

調試環(huán)節(jié)的代碼實現(xiàn):

import matplotlib.pyplot as plt

import numpy as np

#調試語句,判斷Y3圖形位置

n = 200

X = np.linspace(0,50,n)

Y1 = []

Y2 = []

Y3 = []

for i in range(len(X)):

? ? x = X[i]

? ? y1 = -(x**2)+50*x

? ? y2 = (x**2)-50*x

? ? y3 = (x**2)-50*x+750

? ? Y1.append(y1)

? ? Y2.append(y2)

? ? Y3.append(y3)

fig = plt.figure(1)

ax1 = plt.subplot(111)

ax1.plot(X, Y1,'r',label='y1=-x^2+50x')

ax1.plot(X, Y2,'g',label='y2=x^2-50x')

ax1.plot(X, Y3,'b',label='y3=x^2-50x+750')

ax1.set_xlabel('X')

ax1.set_ylabel('Y')

ax1.spines['top'].set_visible(False)

ax1.spines['right'].set_visible(False)

ax1.spines['bottom'].set_position(('data', 0))

ax1.spines['left'].set_position(('data',0))

plt.legend(['y1=-x^2+50x','y2=x^2-50x','y3=x^2-50x+750'])

plt.show()

調試環(huán)節(jié)效果:


接下來將函數(shù)3作為邊際成本函數(shù)(MC),并加上固定(不變成本),構造TC/TFC/TVC/AC/AVC/AFC等相關函數(shù)。

邊際成本: [公式]

總不變成本: [公式]

成本函數(shù)代碼實現(xiàn):

import matplotlib.pyplot as plt

import numpy as np

#成本函數(shù)參數(shù)設定

m = 100

Quantity = np.linspace(1,50,m)

MC = []

TC = []

TFC = []

AC = []

AVC = []

AFC = []

for j in range(len(Quantity)):

? ? q = Quantity[j]

? ? tfc = 1000

? ? mc = (q**2) -50*q+750

? ? tvc =(1/3)*q**3-25*q**2+750*q

? ? tc = tvc + tfc

? ? afc = tfc/q

? ? avc = tvc/q

? ? ac = tc/q

? ? MC.append(mc)

? ? TC.append(tc)

? ? TFC.append(tfc)

? ? AC.append(ac)

? ? AVC.append(avc)

? ? AFC.append(afc)

#第一個圖,輸出總成本、邊際成本、平均成本、平均可變成本

fig = plt.figure(2,figsize=(8,8))

ax2 = plt.subplot(211)

#總成本線為紅色

ax2.plot(Quantity, TC,'red',label='Total Cost')

ax2.set_xlabel('Quantity')

ax2.set_ylabel('Cost')

ax2.spines['top'].set_visible(False)

ax2.spines['right'].set_visible(False)

ax2.spines['bottom'].set_position(('data', 0))

ax2.spines['left'].set_position(('data',0))

plt.legend(['Total Cost'])

ax3 = plt.subplot(212)

#邊際成本線為藍色

ax3.plot(Quantity, MC,'blue',label='Marginal Cost')

#平均成本線為綠色

ax3.plot(Quantity, AC,'green',label='Average Cost')

#平均可變成本線為深粉色

ax3.plot(Quantity, AVC,'hotpink',label='Average Variable Cost')

ax3.set_xlabel('Quantity')

ax3.set_ylabel('Cost')

ax3.spines['top'].set_visible(False)

ax3.spines['right'].set_visible(False)

ax3.spines['bottom'].set_position(('data', 0))

ax3.spines['left'].set_position(('data',0))

plt.legend(['Marginal Cost','Average Cost','Average Variable Cost'])

#第二個圖,輸出總不變成本與平均不變成本

fig = plt.figure(3)

ax4 = plt.subplot(111)

#總不變成本線為棕色

ax4.plot(Quantity, TFC,'brown',label='Total Fixed Cost')

#平均不變成本線為金黃色

ax4.plot(Quantity, AFC,'gold',label='Average Fixed Cost')

ax4.set_xlabel('Quantity')

ax4.set_ylabel('Cost')

ax4.spines['top'].set_visible(False)

ax4.spines['right'].set_visible(False)

ax4.spines['bottom'].set_position(('data', 0))

ax4.spines['left'].set_position(('data',0))

plt.legend(['Total Fixed Cost','Average Fixed Cost'])

plt.show()

成本函數(shù)圖形:


MC曲線從下往上依次穿過AVC曲線和AC曲線

總不變成本與平均不變成本,AFC的大小代表AVC和AC曲線之間的距離

編輯于 2022-02-19 22:27

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容