2-3-Matematicka_analiza-S
system:sage


<p><span style="font-size: xx-small;">Verzija 1.0, 2010-09-29, Kre&scaron;imir Kumerički</span></p>

{{{id=402|
var('a b c x y z t')
///
}}}

<h2>Matematička analiza</h2>
<p>Sage sadrži sve standardne operacije koje se uče u matematičkoj analizi, poput limesa, nizova, redova i diferencijalnog računa. Limesi se izvrijednjavaju funkcijom <strong><span style="font-family: courier new,courier;">limit()</span></strong>:</p>

{{{id=322|
limit(sin(x)/x,  x=0)
///
}}}

{{{id=418|
limit((1+1/x)^x, x=oo)
///
}}}

<p>Taylorov ili Laurentov razvoj neke funkcije po nekoj varijabli oko neke točke do nekog reda radi funkcija <strong><span style="font-family: courier new,courier;">taylor()</span></strong>:</p>

{{{id=99|
taylor(sin(x), x, 0, 5)
///
}}}

<p>taylor() može dati i Laurentov razvoj u kompleksnoj ravnini. Npr, poznato je da</p>
<p>$$ \frac{1}{z^2 + 1}=-\left(\frac{i}{2}\right)\frac{1}{z-i}-\left(\frac{i}{2}\right)^2-\left(\frac{i}{2}\right)^3(z-i)-\left(\frac{i}{2}\right)^4(z-i)^2-\cdots.$$</p>
<p>&scaron;to do nultog reda dobivamo ovako:</p>

{{{id=405|
taylor(1/(z^2+1), z, I, 0)
///
}}}

<p>Za izračun reziduuma ne postoji posebna funkcija, ali i njega možemo dobiti pomoću funkcije taylor() zahvaljujući činjenici da je reziduum jednak minus prvom koeficijentu (onom uz $1/(z-z_0)$) u Laurentovom redu.</p>

{{{id=408|
lrnt = taylor(e^z/z^5, z, 0, -1); lrnt
///
}}}

<p>Recimo da želimo iz gornje reda ekstrahirati upravo član koji odgovara reziduumu. Za to možemo koristiti metodu operands() koja daje listu operanada u nekom izrazu. Npr. za ovaj red operator je zbrajanje a operandi su članovi:</p>

{{{id=413|
print lrnt.operator()
print lrnt.nops() # ukupni broj operanada, korisno kad treba iterirati po njima
lrnt.operands()
///
}}}

<p>Ekstrakcija n-tog člana liste izvodi se indeksiranjem: lista[n], gdje brojanje kreće od nule. Kako je gore reziduum prvi član liste dobijemo ga, uz micanje samog pola 1/z, ovako:</p>

{{{id=410|
z*lrnt.operands()[0]
///
}}}

<p><span id="cell_outer_18"><span id="cell_outer_10"><span id="cell_outer_5">&diams; </span></span><strong>Zadatak 2-3.1</strong><strong>: </strong>Odredite Taylorov razvoj funkcije $f(x) = \arctan(x^2+1)$ oko točke $x=\infty$ do &scaron;estog reda.<br /></span></p>

<p><span id="cell_outer_426"><span id="cell_outer_18"><span id="cell_outer_10"><span id="cell_outer_5">&diams; </span></span><strong>Zadatak 2-3.2</strong><strong>: </strong>Kolika je relativna pogre&scaron;ka </span></span>koju radimo ako za izvrijednjavanje $f(2)=\arctan(5)$ koristimo red dobiven u gornjem zadatku? Da li bi gre&scaron;ka bila manja da smo upotrebljavali razvoj do &scaron;estog reda, ali oko $x=0$?</p>


<p>Deriviranje se radi funkcijom diff()</p>

{{{id=378|
diff(exp(2*x)*cos(3*x), x)
///
}}}

<p>Vi&scaron;estruko deriviranje:</p>

{{{id=379|
diff(exp(2*x)*cos(3*x), x, 4)
///
}}}

<p>(*)Deriviranje izraza koji uključuje (nepoznatu) opću funkciju f(x), kori&scaron;tenjem Leibnitzovog lančanog pravila:</p>

{{{id=447|
f = function('f')  #  simboličke funkcije treba deklarirati
diff(x^2*f(x), x)
///
}}}

<p>Simboličko neodređeno integriranje (integriramo izraz koji smo gore dobili deriviranjem):</p>

{{{id=384|
integral(-3*e^(2*x)*sin(3*x) + 2*e^(2*x)*cos(3*x), x).simplify_full()
///
}}}

<p>Ovaj je izraz ekvivalentan onom gore, ali to ovdje nije eksplicitno. Ponekad je korisno eksperimentirati i s drugim algoritmima integriranja:</p>

{{{id=441|
integral(-3*e^(2*x)*sin(3*x) + 2*e^(2*x)*cos(3*x), x, algorithm='sympy')
///
}}}

<p>Primijetite da se konstanta integracije podrazumijeva bez navođenja.</p>
<p>Simboličko rje&scaron;avanje određenih integrala:</p>

{{{id=385|
integral( x*log(x), x, 0, 1)
///
}}}

<p>Neki integrali su prete&scaron;ki ili se naprosto ne daju prikazati u zatvorenoj formi pa Sage vraća zadani izraz:</p>

{{{id=458|
integral(arctan(gamma(x)), x, 0, 1)
///
}}}

<p>Tada nam ostaje numerička integracija pomoću numerical_integral() čiji rezultat je dan kao tzv. "tuple" &scaron;to je objekt sličan listi, ali označen okruglim, a ne uglatim zagradama. (<a href="http://docs.python.org/tutorial/datastructures.html#tuples-and-sequences">Tuple</a> je brži od liste, ali mu se ne može mijenjati sastav.) Prvi element tupla je rezultat integracije, a drugi procijenjena gre&scaron;ka.</p>

{{{id=392|
numerical_integral(arctan(gamma(x)), 0, 1)
///
}}}

<p>Primijetite da se kod numeričke integracije ne navodi eksplicitno varijabla integracije već se ona određuje automatski.</p>

<p><span id="cell_outer_426"><span id="cell_outer_18"><span id="cell_outer_10"><span id="cell_outer_5">&diams; </span></span><strong>Zadatak 2-3.3</strong><strong>: </strong></span></span>Izračunajte neodređeni integral</p>
<p>$$ \int \frac{x^2 +3}{x^5 + x^4 -x -1} dx $$</p>
<p>i onda provjerite dobiveni rezultat deriviranjem i algebarskim manipulacijama.</p>


<p>Ukoliko integracija ovisi o nekom parametru, defaultni 'maxima' algoritam za integriranje može tražiti da se izjasnimo o svojstivima tog parametrima o kojima ovisi rezultat integracije. Dodjeljivanje svojstava simboličkim varijablama izvodi se pomoću funkcije assume(). Kako takve pretpostavke ne bi utjecale na kasnije računa treba ih &scaron;to prije pobrisati s forget().</p>

{{{id=468|
integral(y*sqrt(x*y), y, 0, 1-x)
///
}}}

{{{id=465|
assume(x-1==0); integral(y*sqrt(x*y), y, 0, 1-x).factor(); forget()
///
}}}

<p>U ovom konkretnom slučaju rezultat zapravo ne ovisi o predznaku od $x$, &scaron;to 'maxima' izgleda ne zna, ali 'sympy' zna:</p>

{{{id=463|
integral(y*sqrt(x*y), y, 0, 1-x, algorithm='sympy')
///
}}}

<p><span id="cell_outer_459"><span id="cell_outer_426"><span id="cell_outer_18"><span id="cell_outer_10"><span id="cell_outer_5">&diams; </span></span><strong>Zadatak 2-3.4</strong><strong>: </strong></span></span></span>Izračunajte integral</p>
<p>$$ \int_{0}^{\infty} dt\, e^{-t} \sqrt{t}&nbsp; $$</p>
<p>simbolički i numerički i usporedite rezultate.</p>


<p><span id="cell_outer_482"><span id="cell_outer_459"><span id="cell_outer_426"><span id="cell_outer_18"><span id="cell_outer_10"><span id="cell_outer_5">&diams; </span></span><strong>Zadatak 2-3.5</strong><strong>:</strong></span></span></span></span> Izračunajte dvostruki određeni integral</p>
<p>$$ \int_{0}^{1} dx \: \int_{0}^{1-x} dy \: (x+y) \sqrt{x y^3}$$</p>


<p><span id="cell_outer_482"><span id="cell_outer_459"><span id="cell_outer_426"><span id="cell_outer_18"><span id="cell_outer_10"><span id="cell_outer_5">&diams; </span></span><strong>Zadatak 2-3.6</strong><strong>:</strong></span></span></span></span> Izračunajte dvostruki neodređeni integral</p>
<p>$$ \int dx \: \int dy \: (x+y) \sqrt{x y^3}$$</p>
<p>i provjerite rezultat deriviranjem i algebarskim manipulacijama.</p>