Implementering av Derivator i Python
I Python kan vi beräkna derivator symboliskt med hjälp av sympy
och visualisera dem med matplotlib
.
1. Symbolisk beräkning av derivator
# Define symbolic variable x
x = sp.symbols('x')
# Define the functions
f1 = sp.exp(x)
f2 = 1 / (1 + sp.exp(-x))
# Compute derivatives symbolically
df1 = sp.diff(f1, x)
df2 = sp.diff(f2, x)
Förklaring:
- Vi definierar
x
som en symbolisk variabel medsp.symbols('x')
; - Funktionen
sp.diff(f, x)
beräknar derivatan avf
med avseende påx
; - Detta gör det möjligt att manipulera derivator algebraisk i Python.
2. Utvärdering och plottning av funktioner och deras derivator
# Convert symbolic functions to numerical functions for plotting
f1_lambda = sp.lambdify(x, f1, 'numpy')
df1_lambda = sp.lambdify(x, df1, 'numpy')
f2_lambda = sp.lambdify(x, f2, 'numpy')
df2_lambda = sp.lambdify(x, df2, 'numpy')
Förklaring:
sp.lambdify(x, f, 'numpy')
konverterar en symbolisk funktion till en numerisk funktion som kan utvärderas mednumpy
;- Detta krävs eftersom
matplotlib
ochnumpy
arbetar med numeriska arrayer, inte symboliska uttryck.
3. Utskrift av derivatvärden för nyckelpunkter
För att verifiera våra beräkningar skriver vi ut derivatvärden vid x = [-5, 0, 5]
.
# Evaluate derivatives at key points
test_points = [-5, 0, 5]
for x_val in test_points:
print(f"x = {x_val}: e^x = {f2_lambda(x_val):.4f}, e^x' = {df2_lambda(x_val):.4f}")
print(f"x = {x_val}: sigmoid(x) = {f4_lambda(x_val):.4f}, sigmoid'(x) = {df4_lambda(x_val):.4f}")
print("-" * 50)
1. Varför använder vi sp.lambdify(x, f, 'numpy')
när vi ritar derivator?
2. När man jämför graferna för f(x)=ex och dess derivata, vilket av följande är sant?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Can you explain the difference between symbolic and numerical differentiation?
How does the derivative of the sigmoid function behave at different x values?
Can you summarize the key points from the video explanation?
Awesome!
Completion rate improved to 1.96
Implementering av Derivator i Python
Svep för att visa menyn
I Python kan vi beräkna derivator symboliskt med hjälp av sympy
och visualisera dem med matplotlib
.
1. Symbolisk beräkning av derivator
# Define symbolic variable x
x = sp.symbols('x')
# Define the functions
f1 = sp.exp(x)
f2 = 1 / (1 + sp.exp(-x))
# Compute derivatives symbolically
df1 = sp.diff(f1, x)
df2 = sp.diff(f2, x)
Förklaring:
- Vi definierar
x
som en symbolisk variabel medsp.symbols('x')
; - Funktionen
sp.diff(f, x)
beräknar derivatan avf
med avseende påx
; - Detta gör det möjligt att manipulera derivator algebraisk i Python.
2. Utvärdering och plottning av funktioner och deras derivator
# Convert symbolic functions to numerical functions for plotting
f1_lambda = sp.lambdify(x, f1, 'numpy')
df1_lambda = sp.lambdify(x, df1, 'numpy')
f2_lambda = sp.lambdify(x, f2, 'numpy')
df2_lambda = sp.lambdify(x, df2, 'numpy')
Förklaring:
sp.lambdify(x, f, 'numpy')
konverterar en symbolisk funktion till en numerisk funktion som kan utvärderas mednumpy
;- Detta krävs eftersom
matplotlib
ochnumpy
arbetar med numeriska arrayer, inte symboliska uttryck.
3. Utskrift av derivatvärden för nyckelpunkter
För att verifiera våra beräkningar skriver vi ut derivatvärden vid x = [-5, 0, 5]
.
# Evaluate derivatives at key points
test_points = [-5, 0, 5]
for x_val in test_points:
print(f"x = {x_val}: e^x = {f2_lambda(x_val):.4f}, e^x' = {df2_lambda(x_val):.4f}")
print(f"x = {x_val}: sigmoid(x) = {f4_lambda(x_val):.4f}, sigmoid'(x) = {df4_lambda(x_val):.4f}")
print("-" * 50)
1. Varför använder vi sp.lambdify(x, f, 'numpy')
när vi ritar derivator?
2. När man jämför graferna för f(x)=ex och dess derivata, vilket av följande är sant?
Tack för dina kommentarer!