Division durch null aufgetreten in double_scalars für abgeleitete Berechnungen
Lerne ich die Verwendung von python für numerische Berechnungen. Ich möchte berechnen, die Ableitung mit Hilfe der zentralen Differenz-Methode. Wenn ich versuche mein Intervall dx, python nimmt es auf 0, obwohl der tatsächliche Wert (1/6)? Jeder Weg, um loszuwerden dieses?
Hier der code:
import numpy as np
import matplotlib.pyplot as plt
a = 0
b = 1
n = 7
dx = np.float(((b-a)/n))
x = np.linspace(a,b,n)
xpp = np.zeros(n)
for ii in range(1,n-1):
xpp[ii] = (x[ii-1] - 2*x[ii+1] + x[ii+1])/(pow(dx,2))
print xpp
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Python 2.7, integer-division wird
floor
:=>
dx
geworden0.0
=> Innerhalbfor
Schleife, es ist wie eine dividor. (02 = 0)Müssen Sie zum konvertieren eines (oder beide) der operand nach float um zu verhindern, dass Boden-Teilung:
können Sie auch importieren und Sie unter Zukunft zu vermeiden, Fußboden-division.