Ich versuche Python zu verwenden, um eine Matrixfunktion Ax = b zu lösen. In diesem Fall haben wirFalsche Ausgabe von numpy.linalg.solve
A = [[-1. 1. 0.]
[-1. 0. 1.]
[-2. 0. 0.]]
b = [ 1. 1. 2.]
ich versuche numpy.linalg.solve
zu verwenden, um dies unter
result = np.linalg.solve(A,b)
als meinen Code zu lösen, ist die Ausgabe wie diese
[ -1.00000000e+00 2.22044605e-16 2.22044605e-16]
, die aus scheinbar anders die richtige Antwort. Also habe ich versucht, diese, wie unten
>>> import numpy as np
>>> T = np.matrix([[-1.0,1.0,0.0],[-1.0,0.0,1.0],[-2.0,0.0,0.0]])
>>> b = np.array([1.0,1.0,2.0])
>>> np.linalg.solve(T,b)
array([-1., 0., 0.])
>>> type(b[0])
<type 'numpy.float64'>
im Terminal zu implementieren ich über den Datentyp denke, diese Art von Ergebnis kann dazu führen, aber beide A und b aus meinem Code ist ‚numpy.float64‘. Also kann ich nicht herausfinden, was der Grund für diese Situation ist.
Sieht gut für mich aus. (Beachte die 'e-16's.) – user2357112
Der erste Kommentar ist korrekt. Zum Spaß: füge '' 'np.set_printoptions (suppress = True)' '' nach dem Import von numpy hinzu und beobachte. Schlagen Sie die wissenschaftliche Notation und die Dokumente von numpy nach, wenn sie noch unklar sind. – sascha