• Register

Funkcija scipy.misc.derivative - robne točke

+6 votes
711 views

Zanima me, ali z vgrajeno scipy.misc.derivative funkcijo, lahko izračunamo odvode v robnih točkah?

asked May 3, 2017 by AlesP (1,450 points)

4 Answers

+3 votes
 
Best answer

Živjo!

Za uporabo scipy.misc.derivative morate imeti definirano funkcijo kot vhodni parameter. Ker v matematičnem smislu funkcija v njenem definicijskem območju nima "robnih točk", potemtakem bo za katerokoli izbrano točko x_0 obstajala vrednost levo in desno od nje, kar pomeni, da centralna shema ne propade. Kot rečeno, izračun z uporabo centralne diff sheme se izvede ali ne-izvede v teh pogojih: link

Torej odgovor je DA v splošnem.

Če pa želite odvajati numerično s centralno shemo nad končnim naborom točk, pa boste slej ko prej naleteli na robno točko, za katero centralna diff shema propade.

Še povezava do dokumentacije: link

Lp Aljaž

answered May 3, 2017 by aljazjelen (11,200 points)
selected May 23, 2017 by AlesP
+3 votes

Po mojem da ja, saj funkcija scipy.misc.derivative sprejme kot argument funkcijo (func), katere odvod računamo in tako lahko izračuna vrednosti funkcije pred točko v kateri računamo odvod, oz. za njo. Za izračun odvoda pa uporablja centralno diferenčno shemo, tako da te točke mora poznati.

answered May 3, 2017 by kobalac (3,410 points)
+3 votes

Funkcija scipy.misc.derivative v vsaki podani točki na x-osi izračuna vrednst odvoda (privzeto je to prvi odvod, f'(x)) z uporabo metode končnih razlik. Privzeto je uporabljena centralna diferenčna shema čez tri točke:

Ker je funkcija f(x) podana (jo je potrebno vnesti kot argumentu funkciji scipy.misc.derivative), je torej mogoče izračunati vrednosti odvoda v poljubni točki x (razen tam, kjer f(x) ni definirana) - torej tudi v "robnih" točkah.

Robne točke se ne nanašajo na interval, kjer nas odvod zanima, temveč na interval, v katerm imamo podane vrednosti f(x). Običajno namreč numerično odvajamo takrat, ko funkcijskega predpisa f(x) ne poznamo, znane pa so nam numerične vrednsti te funkcije na nekem intervalu na x-osi. Robovi tega intervala so tisti, v katerih imamo težave pri izračunu numeričnega odvoda z metodo končnih razlik.

answered May 3, 2017 by dgorjup (73,720 points)
+2 votes
Hvala za odgovore!

Se pravi, ker podamo funkcijo, nimamo problemov z robnimi točkami, saj vedno obstaja točka pred in po danem intervalu.
answered May 3, 2017 by AlesP (1,450 points)
Tako je!
Samo da še nadgradim svoj odgovor. Vsaka 'krivulja', ki popisuje relacije x-a in y-a je lahko funkcija samo če (najbolj stroga zahteva):
- vsakeum x-u v domeni pripada samo en y!
Zato npr funkcijo kvadratnega korena razdelimo na dve različni funkciji. Eno pod in eno nad x-osjo: http://www.intmath.com/functions-and-graphs/2a-domain-and-range.php
Torej posledično, če imate opravka z neko matematično funkcijo, potem ta enačba za vsak izbrani x, za določen korak, lahko izračuna/vrne eno vrednost pred in po danem intervalu. Tako kot ste ugotovili sami :)
LP
ALjaž
...