Numpy, frage zu "numpy.linalg" "solve"
Verfasst: Montag 5. September 2011, 15:32
Hi zusammen,
ich habe seit 2 Wochen ein Problem, ich versuche eine beliebige Matrix gleichzusetzen.
Meine Versuche sind bisher leider nicht vom Erfolg gekrönt...
Zu den Details,
Ich erstelle mir folgendes Array
[[1 1 1]
[1 1 2]
[1 2 1]
[1 2 2]]
über den Code:
nun Versuche ich die Matrix mit [1,0,0,0] gleichzusetzen.
Dies funktioniert leider nicht, ich erhalte folgende Fehlermeldung:
Traceback (most recent call last):
File "G:\gleichung_lösen2.py", line 9, in <module>
x = solve(Matrix,b)
File "C:\Python26\Lib\site-packages\numpy\linalg\linalg.py", line 312, in solve
_assertSquareness(a)
File "C:\Python26\Lib\site-packages\numpy\linalg\linalg.py", line 160, in _assertSquareness
raise LinAlgError, 'Array must be square'
LinAlgError: Array must be square
Aus der Fehlermeldunge interpretiere ich, das der solve Befehl mit einem Array nicht funktioniert und ich ein square benötige.
Also, Array in Square geändert...
Und die Fehlermeldung ist die selbe.
Dazu kommt noch das meine Matrix nicht mehr wie gewollt aussieht, sondern sich auch noch verändert hat.
Kann mir einer eventuell einen Tipp geben?
ich habe seit 2 Wochen ein Problem, ich versuche eine beliebige Matrix gleichzusetzen.
Meine Versuche sind bisher leider nicht vom Erfolg gekrönt...
Zu den Details,
Ich erstelle mir folgendes Array
[[1 1 1]
[1 1 2]
[1 2 1]
[1 2 2]]
über den Code:
Code: Alles auswählen
s = [[1, b, c] for b in range(1,3) for c in range(1,3)]
Matrix = numpy.array(s)
Code: Alles auswählen
import numpy
from numpy.linalg import solve
s = [[1, b, c] for b in range(1,3) for c in range(1,3)]
Matrix = numpy.array(s)
b = numpy.array([1,0,0,0])
x = solve(Matrix,b)
print (x)
Traceback (most recent call last):
File "G:\gleichung_lösen2.py", line 9, in <module>
x = solve(Matrix,b)
File "C:\Python26\Lib\site-packages\numpy\linalg\linalg.py", line 312, in solve
_assertSquareness(a)
File "C:\Python26\Lib\site-packages\numpy\linalg\linalg.py", line 160, in _assertSquareness
raise LinAlgError, 'Array must be square'
LinAlgError: Array must be square
Aus der Fehlermeldunge interpretiere ich, das der solve Befehl mit einem Array nicht funktioniert und ich ein square benötige.
Also, Array in Square geändert...
Code: Alles auswählen
import numpy
from numpy.linalg import solve
s = [[1, b, c] for b in range(1,3) for c in range(1,3)]
Matrix = numpy.square(s)
b = numpy.square([1,0,0,0])
x = solve(Matrix,b)
print (x)
Dazu kommt noch das meine Matrix nicht mehr wie gewollt aussieht, sondern sich auch noch verändert hat.
Kann mir einer eventuell einen Tipp geben?