• Register

Ali je pri vprašanju mišljeno, da ponovno uporabimo samo centralno diferenčno shemo?

+6 votes
63 views

Ponovno določite numerični odvod x(t)v časovnem intervalu [t1,t2] z n ekvidistantnimi odseki še s pomočjo numpy.gradient. Kot rešitev podajte numerično polje vrednosti odvoda v teh točkah.

Je pri tem vprašanju mišljeno, da ponovno uporabimo samo centralno diferenčno shemo (brez odvoda v robnih točkah). Če ne, ali naj uporabim red napake 1 ali 2 na robnih točkah?

asked Dec 11, 2018 by vzuljan (580 points)

2 Answers

+3 votes
 
Best answer

Živjo,

jaz sem tudi imel centralno diferenčno shemo, pa sem v zadnjem koraku moral izračunati odvode še s scipy.misc.derivative(). Enako kot ti nisem vedel, kaj bo z robnimi točkami. Izkazalo se je, da je bil pravilen odgovor, če sem samo vstavil v funkcijo ustrezne parametre, brez kompliciranja.

Pri kolegu sem pa pri nalogi z letalom videl, da je pri računanju z numpy.gradient() funkcijo prav tako vstavil samo ustrezne parametre (torej y-koordinate, razmak med posameznimi točkami) brez uporabe edge_order. Če bi se uporaba opcijskega parametra edge_order  zahtevala, bi ti pomojem pisalo v navodilu.

Če pa nisi povsem siguren glede uporabe numpy.gradient(), imaš pa tukaj nekaj primerov: https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.gradient.html. Na splošno je ta stran precej uporabna, če se prvič srečaš s kako funkcijo, ker ti pokaže več primerov uporabe, od enostavnih do zapletenih.

Upam, da sem ti kaj pomagal.

answered Dec 12, 2018 by TimotejKadilnik (2,510 points)
selected Dec 12, 2018 by janko.slavic
+3 votes

Uporabite numpy.gradient (s privzeto nastavitvijo reda na robu, če v navodilu izrecno ne piše drugače) in vrnete rezultat klica - v tistih točkah, ki jih z uporabljeno metodo lahko izračunate. Pri numpy.gradient so to seveda tudi robne točke, za razliko od diferenčnih shem.

Sicer vidim, da ste težavo že rešili. V takem primeru lahko sami odgovorite na svoje vprašanje, morda ima še kdo podoben problem (pazite le, da ne objavite neposredno kode odgovora na vprašanje).

answered Dec 12, 2018 by dgorjup (60,890 points)
...