OLED|Python+经济学:柯布道格拉斯生产函数相关

OLED|Python+经济学:柯布道格拉斯生产函数相关

文章图片

OLED|Python+经济学:柯布道格拉斯生产函数相关

文章图片

OLED|Python+经济学:柯布道格拉斯生产函数相关


前言:
柯布道格拉斯生产函数(Cobb-Douglas Production Function)是微观经济学中最适合用Python进行可视化演示的知识之一 。 本文分别作出三种参数情况下的产量曲线 , 另外还有产量曲面与等产量线的绘制 。 该生产函数基本形式如下:
【OLED|Python+经济学:柯布道格拉斯生产函数相关】
代码实现:
import matplotlib.pyplot as plt
import numpy as np
n = 100
#劳动与资本投入量
Labor = np.linspace(010n)
Kapital = np.linspace(010n)
#技术水平参数
Tech = 3
Output1 = [

Output2 = [

Output3 = [

OutputN = [

#生产函数参数设置
for i in range(len(Labor)):
labor = Labor[i

kapital = Kapital[i

#三组指数
a1 = 0.5
b1 = 0.3
a2 = 0.5
b2 = 0.5
a3 = 0.7
b3 = 0.8
out1 = Tech * (labor**a1) * (kapital**b1)
out2 = Tech * (labor ** a2) * (kapital ** b2)
out3 = Tech * (labor ** a3) * (kapital ** b3)
# 对照组曲线:生产要素增长
outn = Tech * labor
Output1.append(out1)
Output2.append(out2)
Output3.append(out3)
OutputN.append(outn)
fig = plt.figure(1figsize=(88))
#图形1:生产要素指数之和小于1
ax1 = plt.subplot(131)
ax1.plot(LaborOutput1'red'label='a+b<1')
ax1.plot(LaborOutputN'black')
ax1.set_ylabel('Output(Q)')
ax1.set_xlabel('Input(LK)')
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(['a+b<1'
)
#图形2:生产要素指数之和等于1
ax2 = plt.subplot(132)
ax2.plot(LaborOutput2'green'label='a+b=1')
ax2.plot(LaborOutputN'black')
ax2.set_ylabel('Output(Q)')
ax2.set_xlabel('Input(LK)')
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(['a+b=1'
)
#图形3:生产要素指数之和大于1
ax3 = plt.subplot(133)
ax3.plot(LaborOutput3'blue'label='a+b>1')
ax3.plot(LaborOutputN'black')
ax3.set_ylabel('Output(Q)')
ax3.set_xlabel('Input(LK)')
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(['a+b>1'
)
fig.suptitle('Cobb-Douglas Function'fontsize=14weight='bold')
# plt.savefig('Cobb-Douglas.png')
#图形4:生产函数3D绘图 , 叠加等产量曲线
fig = plt.figure(2)
ax4 = plt.axes(projection='3d')
#另外一组生产要素指数参数
alpha = 0.8
beta = 0.7
XY = np.meshgrid(LaborKapital)
Z = Tech * (X**alpha) * (Y**beta)
Production = ax4.plot_surface(XYZcmap='rainbow'alpha=0.8)
ax4.contour(XYZzdir='z'offset=0cmap='coolwarm')
ax4.set_xlabel('Labor')
ax4.set_ylabel('Kapital')
ax4.set_zlabel('Production')
fig.colorbar(Production shrink=0.5 aspect=20)
#图形5:单独绘制等产量曲线
fig = plt.figure(3)
ax5 = plt.subplot(111)
Output = ax5.contour(XYZcmap='coolwarm')