本文介绍了查找无差异曲线点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下Cobb Douglas实用程序函数:
x**0.35 * y**0.65
初始一篮子货物产生的效用为25
。
我想知道y
对于x
的不同值是如何变化的,例如x
[6,15]
z = solveset(Eq(x**0.35 * y**0.75, 25), y)
有没有办法使用x
值的数组和循环来解决这个问题?
我还想知道有没有比solveset
更好的命令。
推荐答案
我认为nsolve
在这里是更好的选择,因为您不需要符号解,只需要数值解。nsolve
需要初始猜测,因此在找到1个值后,该值将用作连续值的初始猜测:
>>> from sympy import nsolve
>>> from sympy.abc import x, y
>>> eq = x**0.35*y**0.65 - 25
>>> xx = list(range(6,15+1))
>>> yy = [nsolve(eq.subs(x,xx[0]), 1)]
>>> for i, xi in enumerate(xx[1:]): yy.append(nsolve(eq.subs(x,xi), yy[i]))
...
>>> for i,j in zip(xx,yy):
... print(i,j.n(2))
...
6 54.
7 50.
8 46.
9 43.
10 41.
11 39.
12 37.
13 36.
14 34.
15 33.
这篇关于查找无差异曲线点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!