Ich versuche, ein sympy Skript zu schreiben, aber Probleme an L1, L2. Jede Hilfe ist willkommen.Matrix Operation Fehler in Sympy
Bei L1 versuche ich, Werte in Matrixmultiplikationsausdruck in der früheren Zeile zu ersetzen. Kann ich das Matrixobjekt nicht ersetzen?
Bei L2 versuche ich den Wert der Substitution in Gleitkommazahlen zu bewerten, aber nicht bekommen. Warum gibt eval() keinen Fließkommawert?
from sympy import *
init_printing()
x, x1, x2, x3 = symbols ('x x1 x2 x3')
N1 = ((x-x2)*(x-x3))/((x1-x2) * (x1-x3))
N2 = ((x-x1)*(x-x3))/((x2-x1) * (x2-x3))
N = Matrix([ [N1,N2] ])
expr1 = N*Transpose(N)
print expr1.subs([ (x1,0.0), (x2,2.5), (x3,5) ]) #L1
N1.evalf (subs={x1:0.0, x2:2.5, x3:5}) #L2
EDIT:
Nach einer Antwort, ich bin einige zusätzliche Zeilen Code setzen. Zeilen `L3, L4, funktionieren nicht. Bei L3, L4, versuche ich f1 zu integrieren, was eine Matrix und eine Zeile dieser Matrix ist. Aber in beiden Fällen fehlgeschlagen. Wie integriert man eine Matrix in sympy? Wird es unterstützt?
from sympy import *
init_printing()
x, x1, x2, x3 = symbols ('x x1 x2 x3')
N1 = ((x-x2)*(x-x3))/((x1-x2) * (x1-x3))
N2 = ((x-x1)*(x-x3))/((x2-x1) * (x2-x3))
N = Matrix([ [N1,N2] ])
expr1 = N*Transpose(N)
print expr1.subs([ (x1,0.0), (x2,2.5), (x3,5) ]) #L1
N1s=N1.subs([ (x1,0.0), (x2,2.5), (x3,5) ])
N2s=N2.subs([ (x1,0.0), (x2,2.5), (x3,5) ])
Ns = Matrix([ [N1s,N2s] ])
f1 = Ns*x**3
f2 = integrate(f1,(x,0,5)) #L3
f2 = integrate(f1.row(1),(x,0,5)) #L4
Vielen Dank für die Antwort. Kannst du auch über 'L3, L4' kommentieren? – vfg4341
Funktionieren die Linien 'L3, L4' für Sie? – vfg4341
@ vfg4341 wäre es besser, eine neue Frage zu stellen, – asmeurer