Als SymPy Neuling, Ich betrachte den folgenden SymPy Ausdruck (die auf 1, wenn 0<x<1
gleich sein sollen):SymPy Funktion mit unevaluierten Argumente
f = Sum((2/(lambda_m*besselj(1, lambda_m)))*besselj(0,x*lambda_m), (m, 1, oo))
wo lambda_m
ist die m
-te Null von besselj(0,x)
.
Jetzt hat mpmath
eine Funktion besseljzero(0,m,0)
, die genau das berechnet.
Leider, wenn ich ersetzen (manuell, ich meine ...) lambda_m
durch besseljzero(0,m,0)
in der oberen Formel, gibt SymPy mir einen Fehler, da m
nicht eine ganze Zahl ist ...
ich diese Fragen imagine Lösung von eine Funktion zu schaffen, die sollte:
- return
j0(m)
wennm
wertet nicht auf eine ganze Zahl - return
besseljzero(0,m,0)
wenn ja
Aber ich weiß nicht weiter.
Ist das eine gute Idee, und kann mir jemand helfen?
Vielen Dank für Ihre Antwort! –
Sorry - der letzte Teil meines Kommentars wurde vom System gelöscht Offensichtlich ist es möglich, diese Funktion explizit zu programmieren - das ist nicht mein Punkt ... wenn sich Besselzero (0, m, 0) genau wie besselj verhalten würde (0, x), alles wäre in Ordnung. Meine Frage war: Ist es möglich, eine sympy Funktion zu schreiben, die sich wie besselj (0, x) (oder zum Beispiel sin (x)) verhält? Wahrscheinlich mit besseljzero (0, m, 0) in seinem Code ... Ich hopethis ist klarer ... Grüße –
Wenn ich Ihren Wunsch richtig verstehe, sollte dies im zweiten Absatz meiner Antwort angesprochen werden. – Wrzlprmft