如何绘制从scipy.brute()方法输出的4D数据?

我正在尝试优化一个具有3个不同变量的方程。因为,我需要全局最小值,所以我正在使用scipy.brute()方法来找到最小值。

我现在要做的是从中获取输出,并为所有可能的解决方案创建一个4-D图形(可能使用颜色)。

问题是我无法使用常规散点图,因为我在每个整数点都有一个数据点。

我选择的图形形式也是颜色图,仅适用于3-D数据。

def objFunc(x):
    return x[0] + x[1] + x[2] #not actual objective

def optim():
    range = (slice(5,40,1),) * 3
    result = brute(objFunc,range,full_output=True,finish=None)
    return result

输出看起来像这样:

(array([16.,11.,17.]),-14.264000000000266,array([[[[ 5,5,...,5],[ 5,5]],[[ 6,6,6],[ 6,6]],[[ 7,7,7],[ 7,7]],[[37,37,37],[37,37]],[[38,38,38],[38,38]],[[39,39,39],[39,39]]],[[[ 5,39]],[[ 5,39]]]]),array([[[ 0.0000e+00,0.0000e+00,0.0000e+00],[-1.8646e+00,-3.9202e+00,-4.0626e+00,-1.2946e+00,-1.7752e+00,-2.1930e+00],[-4.3552e+00,-4.9642e+00,-1.7610e+00,-5.3600e-02,2.6060e-01],[-1.0168e+00,1.2460e-01,-9.4820e-01,2.4376e+00,2.7144e+00,4.7294e+00],[-8.7720e-01,-3.9600e-01,7.5920e-01,4.6094e+00,4.7240e+00],[-4.6200e-01,-8.1380e-01,1.0734e+00,4.7294e+00,4.7240e+00,4.3872e+00]],[[ 1.8646e+00,3.9202e+00,4.0626e+00,1.2946e+00,1.7752e+00,2.1930e+00],[ 0.0000e+00,[-3.9826e+00,-4.7238e+00,-7.4158e+00,4.3906e+00,2.7800e+00,8.0380e-01],[ 1.2460e-01,1.7028e+00,3.6512e+00,2.2730e+00,1.5168e+00,9.2340e-01],[-3.9600e-01,2.3934e+00,2.4206e+00,9.2340e-01,1.5756e+00],[-8.1380e-01,1.5208e+00,1.3440e-01,1.5756e+00,2.8896e+00]],[[ 4.3552e+00,4.9642e+00,1.7610e+00,5.3600e-02,-2.6060e-01],[ 3.9826e+00,4.7238e+00,7.4158e+00,-4.3906e+00,-2.7800e+00,-8.0380e-01],[-9.4820e-01,3.2012e+00,2.3234e+00,1.8586e+00,3.1328e+00,3.3862e+00],[ 7.5920e-01,1.9706e+00,1.8436e+00,3.0428e+00,3.3862e+00,3.5442e+00],[ 1.0734e+00,-5.6000e-03,4.0352e+00,3.5442e+00,2.6238e+00]],[[ 1.0168e+00,-1.2460e-01,9.4820e-01,-2.4376e+00,-2.7144e+00,-4.7294e+00],[-1.2460e-01,-1.7028e+00,-3.6512e+00,-2.2730e+00,-1.5168e+00,-9.2340e-01],[ 9.4820e-01,-3.2012e+00,-2.3234e+00,-1.8586e+00,-3.1328e+00,-3.3862e+00],[ 6.6600e-01,1.2574e+00,1.1392e+00,5.3169e+00,3.6745e+00,5.9975e+00],[ 2.7666e+00,6.2400e-01,1.4826e+00,3.7183e+00,5.9975e+00,6.0069e+00]],[[ 8.7720e-01,3.9600e-01,-7.5920e-01,-4.6094e+00,-4.7240e+00],[ 3.9600e-01,-2.3934e+00,-2.4206e+00,-9.2340e-01,-1.5756e+00],[-7.5920e-01,-1.9706e+00,-1.8436e+00,-3.0428e+00,-3.3862e+00,-3.5442e+00],[-6.6600e-01,-1.2574e+00,-1.1392e+00,-5.3169e+00,-3.6745e+00,-5.9975e+00],[ 2.6952e+00,7.3620e-01,2.1606e+00,6.2250e+00,6.0576e+00]],[[ 4.6200e-01,8.1380e-01,-1.0734e+00,-4.7294e+00,-4.7240e+00,-4.3872e+00],[ 8.1380e-01,-1.5208e+00,-1.3440e-01,-1.5756e+00,-2.8896e+00],[-1.0734e+00,5.6000e-03,-4.0352e+00,-3.5442e+00,-2.6238e+00],[-2.7666e+00,-6.2400e-01,-1.4826e+00,-3.7183e+00,-5.9975e+00,-6.0069e+00],[-2.6952e+00,-7.3620e-01,-2.1606e+00,-6.2250e+00,-6.0576e+00],0.0000e+00]]]))

我不能轻易画出什么

lnlmftutu 回答:如何绘制从scipy.brute()方法输出的4D数据?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3163529.html

大家都在问