Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 一个简单方程的快速求解_Python_Numpy_Scipy - Fatal编程技术网

Python 一个简单方程的快速求解

Python 一个简单方程的快速求解,python,numpy,scipy,Python,Numpy,Scipy,对于[0,1]中的q(质量),我们知道最大化的质量是1。现在的问题是,我怎样才能解出这样一个方程?我一直得到一个错误,要么是q尚未定义(这是我们寻找它时很自然的),要么是一些参数是错误的 def profits(q): range_price = range_p(q) range_profits = [(x-c(q))*demand(q,x) for x in range_price] price = range_price[argmax(range_profits)]

对于
[0,1]
中的
q
(质量),我们知道最大化的质量是
1
。现在的问题是,我怎样才能解出这样一个方程?我一直得到一个错误,要么是
q
尚未定义(这是我们寻找它时很自然的),要么是一些参数是错误的

def profits(q):
    range_price = range_p(q)
    range_profits = [(x-c(q))*demand(q,x) for x in range_price]
    price = range_price[argmax(range_profits)] # recall from above that argmax(V) gives 
                                           # the position of the greatest element in a vector V
                                           # further V[i] the element in position i of vector V
    return (price-c(q))*demand(q,price)

print profits(0.6)
print profits(0.8)
print profits(1)
0.18
0.2
0.208333333333
这是我尝试过的,但我得到了以下错误:

q_firm = optimize.fminbound(-profits(q),0,1)
---------------------------------------------------------------------------
NameError回溯(最近一次呼叫上次)
在()
---->1 q_公司=优化.fminbound(-利润(q),0,1)
NameError:未定义名称“q”

有人能帮我吗?如果我需要向你们提供更多关于这个问题的信息,让我知道,这是我第一次使用这个平台。提前谢谢

fminbound需要一个callable,而
proficies(q)
尝试计算单个值。使用

fminbound(lambda q:-利润(q),0,1)

请注意,上面的lambda仅用于生成负利润函数。最好为
-profits
定义一个函数,并将其提供给fminbound


更好的做法是,使用最小化标量而不是fminbound。

你在哪里定义
q
?没有任何地方,我们需要对其进行优化以获得最大利润。@Forge请看上面的内容,很抱歉之前没有提到你(我仍然是这里的noob)。你需要定义变量
q
来运行
q\u firm=optimize.fminbound(-profits(q),0,1)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-99-b0a80dc20a3d> in <module>()
----> 1 q_firm = optimize.fminbound(-profits(q),0,1)

NameError: name 'q' is not defined