24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1149  |  回复: 2

不一般人

铁虫 (初入文坛)

[求助] 我是python的新手,这是我的第一个要优化的代码,请帮助检查哪个地方错了,非常感谢.

我是python的新手,这是我的第一个要优化的代码,请帮助检查哪个地方错了,非常感谢.

import pandas as pd
curves=pd.read_excel('C:/Users/jh2757/Hello World/Curves.xlsx')

# optimize data
from scipy.optimize import minimize
j=curves.Jflu
c=curves.Ci
R=curves.Rd
O=curves.O
A=curves.A
#objective function
def objfun(g,j,c,O,R,A):
    return (-(j/g+4*c+8*O-4*R/g)-((j/g+4*c+8*O-4*R/g)**2-4*(-4/g)*(8*O*R+4*c*R+O*j-c*j))**0.5)/(2*(-4/g))-A
#Lambda to create my objective function
fun=lambda g-(j/g+4*c+8*O-4*R/g)-((j/g+4*c+8*O-4*R/g)**2-4*(-4/g)*(8*O*R+4*c*R+O*j-c*j))**0.5)/(2*(-4/g))-A
#Constraints
cons={'type':'ineq','fun':lambda g:g}

#Bounds

bnds=((0,1.0),)
#Minimize the function
res=minimize(fun,0.1,method='SLSQP',bounds=bnds,constraints=cons)
print (res)
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lwloveflxgg

禁虫 (知名作家)

本帖内容被屏蔽

2楼2019-10-11 08:30:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

不一般人

铁虫 (初入文坛)

引用回帖:
2楼: Originally posted by lwloveflxgg at 2019-10-11 08:30:41
字典cons是不是少了个逗号。另外纠错的话你要把错误信息给出来啊

谢谢你的提醒, 错误信息 raise ValueError("Objective function must return a scalar"   ValueError: Objective function must return a scalar
3楼2019-10-11 22:29:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 不一般人 的主题更新
信息提示
请填处理意见