6

次の呼び出し:

rbf = Rbf(points[0], points[1], values,epsilon=2)

エラーが発生します。

LinAlgError: singular matrix

次の値を使用します。

In [3]: points
Out[3]: 
(array([71, 50, 48, 84, 71, 74, 89, 76, 70, 77, 74, 79, 83, 71, 72, 78, 73,
       84, 75, 65, 73, 82, 48, 86, 74, 86, 66, 74, 68, 74, 81, 74, 88, 66,
       57, 50, 72, 86, 72, 92, 81, 67, 82, 78, 69, 70, 73, 71, 76, 72, 74,
       75]),
 array([32, 34,  4, 35,  1,  7, 47, 16, 37, 14, 65, 18, 32,  4,  3, 27, 25,
       34, 18, 25,  6, 25, 34, 41, 16, 35, 44,  2, 32,  2, 37, 60, 45, 32,
       33, 42, 54, 31, 18, 38, 24, 18, 45, 48,  9, 63, 56, 45,  9, 59,  5,
       12]))

In [4]: values
Out[4]: 
array([ 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.,  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.,  1.,  1.])

それを回避し、補間の問題を解決するにはどうすればよいですか?

4

2 に答える 2

2

同じエラーが発生しました。最後に、エラーが発生する理由を見つけました。

同じ座標を持つ2つのポイントがあります。(74,2) 値が 28 番目、30 番目で同じ座標であることを確認します。

私の考えでは、同じ点に同じ値があっても、特異行列エラーが発生します。

于 2016-09-22T14:55:55.253 に答える