Implementering av rationella funktioner i Python
Svep för att visa menyn
Till skillnad från tidigare funktioner kräver rationella funktioner särskild hantering vid plottning i Python. Eftersom de har odefinierade punkter och oändliga värden måste du dela upp definitionsmängden för att undvika fel.
1. Definiera funktionen
Vi definierar vår rationella funktion som:
def rational_function(x):
return 1 / (x - 1)
Viktiga överväganden:
- x=1 måste uteslutas från beräkningarna för att undvika division med noll;
- Funktionen delas upp i två definitionsmängder (vänster och höger om x=1).
2. Dela upp definitionsmängden
För att undvika division med noll genereras två separata uppsättningar av x-värden:
x_left = np.linspace(-4, 0.99, 250) # Left of x = 1
x_right = np.linspace(1.01, 4, 250) # Right of x = 1
Värdena 0.99 och 1.01 säkerställer att vi aldrig inkluderar x=1, vilket förhindrar fel.
3. Plotta funktionen
plt.plot(x_left, y_left, color='blue', linewidth=2, label=r"$f(x) = \frac{1}{x - 1}$")
plt.plot(x_right, y_right, color='blue', linewidth=2)
Funktionen hoppar vid x=1, så vi behöver rita den i två delar.
4. Markering av asymptoter och skärningspunkter
- Vertikal asymptot (x=1):
plt.axvline(1, color='red', linestyle='--',
linewidth=1, label="Vertical Asymptote (x=1)")
- Horisontell asymptot (y=0):
plt.axhline(0, color='green', linestyle='--',
linewidth=1, label="Horizontal Asymptote (y=0)")
- Y-intercept vid x=0:
y_intercept = rational_function(0)
plt.scatter(0, y_intercept, color='purple', label="Y-Intercept")
5. Tillägg av riktningspilar
För att indikera att funktionen sträcker sig oändligt:
plt.annotate('', xy=(x_right[-1], y_right[-1]), xytext=(x_right[-2], y_right[-2]), arrowprops=dict(arrowstyle='->', color='blue', linewidth=1.5))
Var allt tydligt?
Tack för dina kommentarer!
Avsnitt 1. Kapitel 6
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
Fantastiskt!
Completion betyg förbättrat till 1.96Avsnitt 1. Kapitel 6