在途中 2021-06-12 10:02 采纳率: 100%
浏览 32
已采纳

这长句谁帮帮忙,能缩短一点吗?或改成函数

vv=lambda x:[1.645*math.sqrt(x[0]*cov[0][0]*x[0]+x[0]*cov[0][1]*x[1]+x[0]*cov[0][2]*x[2]+
x[0]*cov[0][3]*x[3]+x[0]*cov[0][4]*x[4]+x[0]*cov[0][5]*x[5]+x[0]*cov[0][6]*x[6]+x[0]*cov[0][7]*x[7]+
x[0]*cov[0][8]*x[8]+x[0]*cov[0][9]*x[9]+x[1]*cov[1][0]*x[0]+x[1]*cov[1][1]*x[1]+x[1]*cov[1][2]*x[2]+
x[1]*cov[1][3]*x[3]+x[1]*cov[1][4]*x[4]+x[1]*cov[1][5]*x[5]+x[1]*cov[1][6]*x[6]+x[1]*cov[1][7]*x[7]+
x[1]*cov[1][8]*x[8]+x[1]*cov[1][9]*x[9]+x[2]*cov[2][0]*x[0]+x[2]*cov[2][1]*x[1]+x[2]*cov[2][2]*x[2]+
x[2]*cov[2][3]*x[3]+x[2]*cov[2][4]*x[4]+x[2]*cov[2][5]*x[5]+x[2]*cov[2][6]*x[6]+x[2]*cov[2][7]*x[7]+
x[2]*cov[2][8]*x[8]+x[2]*cov[2][9]*x[9]+x[3]*cov[3][0]*x[0]+x[3]*cov[3][1]*x[1]+x[3]*cov[3][2]*x[2]+
x[3]*cov[3][3]*x[3]+x[3]*cov[3][4]*x[4]+x[3]*cov[3][5]*x[5]+x[3]*cov[3][6]*x[6]+x[3]*cov[3][7]*x[7]+
x[3]*cov[3][8]*x[8]+x[3]*cov[3][9]*x[9]+x[4]*cov[4][0]*x[0]+x[4]*cov[4][1]*x[1]+x[4]*cov[4][2]*x[2]+
x[4]*cov[4][3]*x[3]+x[4]*cov[4][4]*x[4]+x[4]*cov[4][5]*x[5]+x[4]*cov[4][6]*x[6]+x[4]*cov[4][7]*x[7]+
x[4]*cov[4][8]*x[8]+x[4]*cov[4][9]*x[9]+x[5]*cov[5][0]*x[0]+x[5]*cov[5][1]*x[1]+x[5]*cov[5][2]*x[2]+
x[5]*cov[5][3]*x[3]+x[5]*cov[5][4]*x[4]+x[5]*cov[5][5]*x[5]+x[5]*cov[5][6]*x[6]+x[5]*cov[5][7]*x[7]+
x[5]*cov[5][8]*x[8]+x[5]*cov[5][9]*x[9]+x[6]*cov[6][0]*x[0]+x[6]*cov[6][1]*x[1]+x[6]*cov[6][2]*x[2]+
x[6]*cov[6][3]*x[3]+x[6]*cov[6][4]*x[4]+x[6]*cov[6][5]*x[5]+x[6]*cov[6][6]*x[6]+x[6]*cov[6][7]*x[7]+
x[6]*cov[6][8]*x[8]+x[6]*cov[6][9]*x[9]+x[7]*cov[7][0]*x[0]+x[7]*cov[7][1]*x[1]+x[7]*cov[7][2]*x[2]+
x[7]*cov[7][3]*x[3]+x[7]*cov[7][4]*x[4]+x[7]*cov[7][5]*x[5]+x[7]*cov[7][6]*x[6]+x[7]*cov[7][7]*x[7]+
x[7]*cov[7][8]*x[8]+x[7]*cov[7][9]*x[9]+x[8]*cov[8][0]*x[0]+x[8]*cov[8][1]*x[1]+x[8]*cov[8][2]*x[2]+
x[8]*cov[8][3]*x[3]+x[8]*cov[8][4]*x[4]+x[8]*cov[8][5]*x[5]+x[8]*cov[8][6]*x[6]+x[8]*cov[8][7]*x[7]+
x[8]*cov[8][8]*x[8]+x[8]*cov[8][9]*x[9]+x[9]*cov[9][0]*x[0]+x[9]*cov[9][1]*x[1]+x[9]*cov[9][2]*x[2]+
x[9]*cov[9][3]*x[3]+x[9]*cov[9][4]*x[4]+x[9]*cov[9][5]*x[5]+x[9]*cov[9][6]*x[6]+x[9]*cov[9][7]*x[7]+
x[9]*cov[9][8]*x[8]+x[9]*cov[9][9]*x[9])-(HHH[0]*x[0]+HHH[1]*x[1]+HHH[2]*x[2]+HHH[3]*x[3]+HHH[4]*x[4]+HHH[5]*x[5]+
HHH[6]*x[6]+HHH[7]*x[7]+HHH[8]*x[8]+HHH[9]*x[9])]

cov现在只有9行的数据,有可能更多,9行的笨方法只能这样写,没出错,但这也太长了,又不方便

  • 写回答

4条回答 默认 最新

  • 关注
    def vv(x):
        a = 0
        for i in range(10):
            for j in range(10):
                a += x[i]*cov[i][j]*x[j]
        b = 0
        for i in range(10):
            b += HHH[i]*x[i]
        return [1.645*math.sqrt(a)-b]
    res = minimize(vv, x0, method='SLSQP',constraints=cons)
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

    vv函数这样定义就可以了

    回复
    CSDN专家-天际的海浪 回复 CSDN专家-天际的海浪 2021-06-12 10:37

    如果对你有帮助,可以给我个采纳吗,谢谢!! 点击我这个回答右上方的【采纳】按钮

    回复
查看更多回答(3条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部