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?