Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Implementering av Derivator i Python | Matematisk Analys
Matematik för datavetenskap

bookImplementering 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 med sp.symbols('x');
  • Funktionen sp.diff(f, x) beräknar derivatan av f 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 med numpy;
  • Detta krävs eftersom matplotlib och numpy 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)=exf(x) = e^x och dess derivata, vilket av följande är sant?

question mark

Varför använder vi sp.lambdify(x, f, 'numpy') när vi ritar derivator?

Select the correct answer

question mark

När man jämför graferna för f(x)=exf(x) = e^x och dess derivata, vilket av följande är sant?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 4

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

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

bookImplementering 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 med sp.symbols('x');
  • Funktionen sp.diff(f, x) beräknar derivatan av f 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 med numpy;
  • Detta krävs eftersom matplotlib och numpy 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)=exf(x) = e^x och dess derivata, vilket av följande är sant?

question mark

Varför använder vi sp.lambdify(x, f, 'numpy') när vi ritar derivator?

Select the correct answer

question mark

När man jämför graferna för f(x)=exf(x) = e^x och dess derivata, vilket av följande är sant?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 4
some-alt