Írjunk egy függvényt, amely egy adott x array-ben tárólt valós értékekre kiértékel egy tetszőleges polinomfüggvényt, vagy ábrázolja azt!
csinal_kepet
kulcsszo True
akkor ábrázoljuk a polinomot és ne térjünk vissza semmilyen értékkel, ellenkező esetben a függvény térjen vissza egy array változóval amely polinom értékeit tartalmazza az x válltozóban tárolt helyeken. Mivel ebben a feladatban a pylab
több funkcióját használni fogjuk, először ezt töltsük be!
%pylab inline
Ezután írjuk meg a függvényt! Amit mindenkképpen meg kell csinálni, hogy az adott x
értékekhez kiszámoljuk az y
értékeket. Ezt egy for-ciklussal tudjuk megtenni. Úgy vesszük, hogy a paraméterként kapott tömbben az i
. érték az i
hatvány együtthatója. Ezután a kwargs
-t vizsgáljuk meg, hogy benne van-e a kérdéses kulcsszó:
def fuggveny(x,*args,**kwargs):
"Kiértékelek vagy ábrázolok egy polynom-ot"
y = zeros(len(x)) # Ebbe a tömbbe fogjuk beírni a függvényértékeket
for i in range(0, len(args)): # Végig megyünk a tömb elemein, és kiszámítjuk a hozzájuk tartozó függvényértéket
y += args[i]*(x**i)
if "csinal_kepet" in kwargs and kwargs["csinal_kepet"]: # Ha meg van adva a kérdéses paraméter, ábrázolja
del kwargs["csinal_kepet"]
plot(x, y, **kwargs)
else: # Ha nincs, csak visszaadjuk eredményként
return y
Ezután kipróbáljuk néhány próbafüggvénnyel.
fuggveny(arange(0,1,0.05), 1,0,1, csinal_kepet=True, color="green", marker="o")
fuggveny(arange(0,100,2), 1,2,3,4,5)