# cobweb.ode podle Barda Ermentrouta # nejprve definujeme funkci, jejíž hodnota v každém druhém kroku je hodnota # daného zobrazení (v našem případě logistického) a ve zbylých krocích zůstává stejná # hodnota (protože takto je pavučinový diagram vytvořen - skáčeme mezi funkcí zobrazení a osou 1. kavadrantu) g(x,y)=if(mod(t,2)<.5)then(f(x))else(y) # použili jsme k tomu funkci zbytek po dělení dvěma, # čas 't' běží diskrétně 0,1,2,..., v případě že je sudý, definuje g(x,y) hodnotu f(x), je-li lichý definuje y y(t+1)=g(x,y) x(t+1)=if(t==0)then(x)else(y) # uvědomme si, že x(t+2)=f(x(t)), x(t+1)=x(t) f(x)=a*x*(1-x) par a=3.1 init y=0,x=.25 # vždy musíme začít kreslit v y=0 # x lze volit libovolně mezi 0,1 # ještě vykreslíme funkce f(x),x par xlo=0,xhi=1,nit=25 # xlo, xhi je nejmenší a největší hodnota na ose x a nit slouží pro přesnost vykreslení funkce f(x) # hodnoty f(x) xx=xlo+(xhi-xlo)*t/nit # dělení na ose x aux map=f(xx) aux st=xx # nastavení okna @ xlo=0,ylo=0,xhi=1.001,yhi=1.001 @ nplot=3 # vykreslení funkcí y=x a y=f(x) @ xp2=st,yp2=st @ xp3=st,yp3=map # vykreslení pavučiny @ xp1=x,yp1=y # nastavení xpp na diskrétní dynamiku a 25 iterací @ meth=discrete,total=25 done