i i “Razpet-se-o-rekurziji” — 2010/5/28 — 11:47 — page 1 — #1 i i i i i i List za mlade matematike, fizike, astronome in računalnikarje ISSN 0351-6652 Letnik 14 (1986/1987) Številka 6 Strani 310–313 Marko Razpet: ŠE O UPORABI REKURZIVNIH FORMUL Ključne besede: računalništvo, matematika. Elektronska verzija: http://www.presek.si/14/859-Razpet.pdf c© 1987 Društvo matematikov, fizikov in astronomov Slovenije c© 2010 DMFA – založništvo Vse pravice pridržane. Razmnoževanje ali reproduciranje celote ali posameznih delov brez poprejšnjega dovoljenja založnika ni dovo- ljeno. ŠE O UPORABI REKURZIVNIH FORMUL Nad alju jmo naš a razm išljan ja o upo rabi rekurz ivn ih formul. ki smo j ih začeli v četrti številki Preseka. Najprej nekaj pojasnil v zvezi z eksponentno fun kcijo. Naj bo a izbr ano poz itivno št evilo. raz l ič no od 1. Za vsako naravno število n def iniramo an = a.a...e, kje r je v produktu n enakih faktorj eva. Posebej je al =a. Za dve naravni števili m in n velja am+n = ama". Nato definiramo an za poljubno celo število n . Če je n negativno celo število , postavimo an = 1l a- n . Za n = O postavimo aO = 1. Id ent itet a am+n = am an velja potem tud i za dve poljubn i celi štev ili m in n . V naslednjem ko raku definiramo ar za racionaina števila r. Če je r ulo me k p /q , postavimo aP/ q = q.J aP. Nazadnje defin iramo aX , kje r je x realno število. To gre pribli žno ta ko ; izberemo polj ubno zaporedj e racio- na lnih števil rl , rz . .... ki se z rastočim ind eksom p ribližujejo številu x. Opazu - jemo zaporedje e'» , ~r 2, s '>, ... To zapo redje z ra sto č im inde ksom stremi k nekemu točno določenemu realnemu številu, ki ga označimo z e", Preslikava, k i vsakemu realnemu številu x pr iredi vrednost aX , je eksponentna funkcija . Število a je njena osnova . Najpomembnejša lastnost eksponentne fukcije je: ( 1) za poljubn i realn i št evili x in V, razen tega pa velja še: aO= 1, za a > 1 je funkc i- ja x ~ aX naraščajoča. za O< a < 1 pa padajo če, zavzame pa lahko samo po- zitivne vrednosti . Zaporedje števil al , a2, a3, ..., kjer je splošni č l e n dan z izrazom an = = (1 + 1l n )n . stremi proti neki vrednosti. k i jo v matematiki označujemo s črko e. Pr ibl ižna vrednost je e = 2,718281 828459. Poleg števila 11 je to eno y y =exp (p x) x 310 Slika 1 od najpomembnejših števil v matematiki. In ravno število e izberemo za osnovo eksponentne funkcije. ki jo bomo potrebovali . Dostikrat namesto eX pišemo raje exp x. Adicijski izrek (1) je potem (2) exptx + V) = expx exp y BASIC tudi pozna to funkcijo. to je funkcijo EXP . Za pozitivno realno število ~ si oglejmo funkciji x +--* exp(~x) in x +--* +--* exp( -~x). Prva je naraščajoča. in to tem bolj, čim večji je ~. druga pa je padajoča . Č im večji je ~. tem hitreje pada. Prvi ustreza zakon naravne rasti. drugi pa zakon radioaktivnega razpada. Po tej pripravi si oglejmo krivuljo V = A exp(-~x) sin(wx + 1,0). To je krivulja dušenega nihanja. Kasneje nekaj besed o njenem imenu. Število ~ > O bomo imenovali koeficient dušenja . Na računalniku bomo narisali to krivuljo podobno kot na začetku sinusoido . Najprej pa moramo priti do primerne re- kurzivne formule . Abscisam Xo = O. XI ~ lj, X2 = 2lJ• .oo priredimo ustrezne ordinate Vo, VI, V2 . .oo: Vk =A eXP(-~xk) sin(wxk +1,01. k = 0.1. 2.... Vpeljemo pomožno zaporedje ZO , ZI, Z2• .... kjer je zk = A sin(wxk + 1,0). Po- tem lahko zapišemo krajše Iz četrte številke Preseka že vemo. da velja zk+l =2zk cos(lJw) -zk-l' k= 1.2.3.... Odtod hitro dobimo zvezo (3) Označimo Vk+l = 2 Vk exp(-~lJ) costčcc) - Vk-l exp(-2~lJ) C = 2 exp(-~lJ) cos(lJwl. d = exp(-2~) Rekurzivno formulo (3) še enkrat prepišemo: (4) Vk+l =cVk -dVk-l' k= 1.2.3 . ... Če poznamo Vo in VI • potem lahko postopoma izračunamo V2, V3 itd. Pri danih parametrih A. ca, 1,0. ~ in izbranem koraku lj imamo Vo = AsinlP in VI ~A exp(-~) sin(lJw+IP)· 311 Sedaj napišemo nov program, v katerem bomo lahko sami spreminjali vse omenjene parametre. 10 LET m=50: LET a=70 20 LET fi=PI/2: LET b=.09 45 LET f=PI /m 50 LET bl=EXP(-b*f) 60 LET d=bl*bl ' 90 PLOT 0,75: DRAW 255,0 100 LET yO=a*SIN fi 105 LET yl=a*bl*SIN( f+fi) 110 LETc=2*bl *COSf 120 FOR x=O TO 255 130 PLOT x, yO+75 140 LET y2=c*yl-d*yO 150 LET yO=y1: LET y1=y2 160 NEXT x Krivuljo dušenega nihanja dobimo prav tako hitro kot slnusoido , V vrstici 10 lahko spremenimo amplitudo a, gostoto točk m . V vrstici 20 pa pomeni fi začetno fazo tp, medtem ko koeficient dušenja (3 predstavlja spremenljivka b . \J -, 312 / / --------- ./ ./ /y = - e x p ( - ~ x ) / Slika 2 x