Итак, я хочу вычесть два числовых массива a и b:
a=[[ 1. 0.85979163 0. 0.11766047 0.19353699]
[ 0.8589698 1. 0.24111901 0. 0. ]
[ 0. 0.24554123 1. 0.09234979 0.07125199]
[ 0.31269982 0.22558714 0.29298401 1. 0.475543 ]
[ 0.18880995 0. 0.06580817 0.32276821 1. ]]
b=[[1 1 1 1 1]
[1 1 1 1 1]
[1 1 1 1 1]
[1 1 1 1 1]
[1 1 1 1 1]]
Когда я использую следующую команду:
y=numpy.subtract(b,a)
Я получаю выходной массив:
y= [[ -2.22044605e-16 1.40208370e-01 1.00000000e+00 8.82339528e-01
8.06463005e-01]
[ 1.41030195e-01 0.00000000e+00 7.58880995e-01 1.00000000e+00
1.00000000e+00]
[ 1.00000000e+00 7.54458767e-01 -2.22044605e-16 9.07650211e-01
9.28748013e-01]
[ 6.87300178e-01 7.74412855e-01 7.07015986e-01 0.00000000e+00
5.24457002e-01]
[ 8.11190053e-01 1.00000000e+00 9.34191829e-01 6.77231787e-01
0.00000000e+00]]
И меня действительно смущает то, как выводятся эти значения.
Когда я попытался устранить неполадки и сделать:
y=b[0,0]-a[0,0]
Я получил у = 0 .., что делаетсмысл, потому что я бы вычитал 1-1.Но вместо этого в выходном массиве я получаю значение -2.22044605e-16.
Есть ли у вас какие-либо идеи относительно того, почему это может происходить и что я могу сделать, чтобы это исправить?