SharedSage genom exempel / Derivering_och_integration.sagewsOpen in CoCalc
Author: Robert Nyqvist

Gränsvärden, derivator, serier och integraler

typeset_mode(True) implicit_multiplication(True)

Gränsvärden beräknas med limit. Låt oss beräkna limxx23x2+1. \lim_{x\to\infty} \frac{x^2}{3x^2 + 1}.

f(x) = x^2/(3x^2 +1) # definition av funktion f
x  x23x2+1\displaystyle x \ {\mapsto}\ \frac{x^{2}}{3 \, x^{2} + 1}
f.limit(x = oo) # gränsvärdesberäkning
x  13\displaystyle x \ {\mapsto}\ \frac{1}{3}

För att t.ex. beräkna limx0sinxx \lim_{x\to0} \frac{\sin x}{x} använder vi här funktionen limit på ett alternativt sätt.

limit(sin(x)/x, x = 0)
1\displaystyle 1

För att beräkna summan k=1N1k2=112+122+132+ \sum_{k=1}^N \frac{1}{k^2} = \frac{1}{1^2} + \frac{1}{2^2} + \frac{1}{3^2} + \cdots måste vi deklarera kk som en symbolisk variabel. För N=100N = 100 får vi följande summa.

k = var('k') N = 100 S = sum(1/k^2, k, 1, N) S
1589508694133037873112297928517553859702383498543709859889432834803818131090369901972186144434381030589657976672623144161975583995746241782720354705517986165248000\displaystyle \frac{1589508694133037873112297928517553859702383498543709859889432834803818131090369901}{972186144434381030589657976672623144161975583995746241782720354705517986165248000}
S.n() # närmevärde
1.63498390018489\displaystyle 1.63498390018489
Vad händer då nn går mot oändligheten? Låt oss testa några olika värden på NN.
tabell = [[N, sum(1/k^2, k, 1, N+500).n()] for N in range(0, 10001, 500)] print table(tabell)
0 1.64293606551489 500 1.64393456668156 1000 1.64426762235440 1500 1.64443419182739 2000 1.64453414683756 2500 1.64460078906428 3000 1.64464839337495 3500 1.64468409809562 4000 1.64471186931553 4500 1.64473408684689 5000 1.64475226519433 5500 1.64476741406968 6000 1.64478023252809 6500 1.64479121990896 7000 1.64480074240339 7500 1.64480907466040 8000 1.64481642670955 8500 1.64482296190973 9000 1.64482880923030 9500 1.64483407184806 10000 1.64483883328799

Låter vi NN \to \infty, så får vi serien k=11k2=π26, \sum_{k=1}^\infty \frac{1}{k^2} = \frac{\pi^2}{6}, vilket även Sage kan bekräfta.

S = sum(1/k^2, k, 1, oo) S
16π2\displaystyle \frac{1}{6} \, \pi^{2}
S.n() # närmevärde (jämför med tabellen ovan)
1.64493406684823\displaystyle 1.64493406684823
Derivatan av en funktion är också en funktion. Notera att diff och derivative är olika namn på samma deriveringsfunktion i Sage.
g = diff(f) g
x  6x3(3x2+1)2+2x3x2+1\displaystyle x \ {\mapsto}\ -\frac{6 \, x^{3}}{{\left(3 \, x^{2} + 1\right)}^{2}} + \frac{2 \, x}{3 \, x^{2} + 1}
g.simplify_full()
2x9x4+6x2+1\displaystyle \frac{2 \, x}{9 \, x^{4} + 6 \, x^{2} + 1}
Notera att Sage har koll på vilken eller vilka variabler en funktion beror på.
g(4)
82401\displaystyle \frac{8}{2401}
g.variables()
(x\displaystyle x)
Andraderivatan av ff.
f.derivative(x, 2)
x  72x4(3x2+1)330x2(3x2+1)2+23x2+1\displaystyle x \ {\mapsto}\ \frac{72 \, x^{4}}{{\left(3 \, x^{2} + 1\right)}^{3}} - \frac{30 \, x^{2}}{{\left(3 \, x^{2} + 1\right)}^{2}} + \frac{2}{3 \, x^{2} + 1}
Vi kan även definiera en funktion i flera variabler och beräkna dess partiella derivator.
h(x, y) = x^2 sin(x e^y) h
(x,y)  x2sin(xey)\displaystyle \left( x, y \right) \ {\mapsto} \ x^{2} \sin\left(x e^{y}\right)
h.derivative(x) # första partiella derivatan av h m.a.p. x
(x,y)  x2cos(xey)ey+2xsin(xey)\displaystyle \left( x, y \right) \ {\mapsto} \ x^{2} \cos\left(x e^{y}\right) e^{y} + 2 \, x \sin\left(x e^{y}\right)
h.derivative(y) # första partiella derivatan av h m.a.p. y
(x,y)  x3cos(xey)ey\displaystyle \left( x, y \right) \ {\mapsto} \ x^{3} \cos\left(x e^{y}\right) e^{y}
h.derivative(x, x, y) # tredje partiella derivatan av h m.a.p. x, x och y
(x,y)  x3cos(xey)e(3y)6x2e(2y)sin(xey)+6xcos(xey)ey\displaystyle \left( x, y \right) \ {\mapsto} \ -x^{3} \cos\left(x e^{y}\right) e^{\left(3 \, y\right)} - 6 \, x^{2} e^{\left(2 \, y\right)} \sin\left(x e^{y}\right) + 6 \, x \cos\left(x e^{y}\right) e^{y}
Taylorutveckling av ff i punkten x=1x = 1 med de fem första termerna.
f_Taylor = f.series(x == 1, 5) f_Taylor
x  14+18(x1)+(18)(x1)2+332(x1)3+(364)(x1)4+O((x1)5)\displaystyle x \ {\mapsto}\ \frac{1}{4} + \frac{1}{8} {(x - 1)} + {(-\frac{1}{8})} {(x - 1)}^{2} + \frac{3}{32} {(x - 1)}^{3} + {(-\frac{3}{64})} {(x - 1)}^{4} + \mathcal{O}\left({\left(x - 1\right)}^{5}\right)
Vi kan ta bort resttermen.
f_utv = f_Taylor.truncate() f_utv
x  364(x1)4+332(x1)318(x1)2+18x+18\displaystyle x \ {\mapsto}\ -\frac{3}{64} \, {\left(x - 1\right)}^{4} + \frac{3}{32} \, {\left(x - 1\right)}^{3} - \frac{1}{8} \, {\left(x - 1\right)}^{2} + \frac{1}{8} \, x + \frac{1}{8}
Utvecklar vi parenteserna får vi enklare form av Taylorpolynomet av grad 55 för ff.
f_utv.expand()
x  364x4+932x31116x2+2732x964\displaystyle x \ {\mapsto}\ -\frac{3}{64} \, x^{4} + \frac{9}{32} \, x^{3} - \frac{11}{16} \, x^{2} + \frac{27}{32} \, x - \frac{9}{64}
Nära punkten x=1x= 1 ger Taylorutvecklingen en god approximation av funktionen.
graf_f = plot(f, (x, 0, 2)) graf_f_utv = plot(f_utv, (x, 0, 2), color = (1,0,0)) graf_f + graf_f_utv
Med funktionen integral kan vi bestämma primitiv funktion eller beräkna en integral.
f.integrate(x) # primitiv funktion till f m.a.p. x
x  193arctan(3x)+13x\displaystyle x \ {\mapsto}\ -\frac{1}{9} \, \sqrt{3} \arctan\left(\sqrt{3} x\right) + \frac{1}{3} \, x
f.integrate(k) # primitiv funktion till f m.a.p. k
x  kx23x2+1\displaystyle x \ {\mapsto}\ \frac{k x^{2}}{3 \, x^{2} + 1}

För att t.ex. beräkna integralen 02f(x)dx \int_0^2 f(x) \,dx skriver vi följande.

integral(f(x), x, 0, 2)
193arctan(23)+23\displaystyle -\frac{1}{9} \, \sqrt{3} \arctan\left(2 \, \sqrt{3}\right) + \frac{2}{3}

Dubbelintegralen D(x2xy3)dxdy \iint_D (x^2 - xy^3) \, dxdy där D={(x,y)R2:0x2 och 0yx}D =\{(x, y) \in \mathbb{R}^2 : 0 \leq x \leq 2 \text{ och } 0 \leq y \leq x\} kan beräknas på följande sätt.

x, y = var('x y') integral(integral(x^2 - x y^3, y, 0, x), x, 0, 2)
43\displaystyle \frac{4}{3}