Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

Discrete Dynamical Systems: Stability, Cobweb Diagram, Time Series Diagram, Phase Diagram, Bifurcation Diagram

Project: Home
Views: 2619
####################### #Cobweb Diagram #by Sinan Kapcak #2017 #www.k-interact.net/dds ####################### x,y,a=var('x y a') @interact def _( param1=input_box(label='Slider interval for paramater $a$',default=(0,10),width=20), intx=input_box(label='Slider interval for $x$',default=(0,10 ),width=20 )): @interact def _( f=input_box(label='$f(x)$',default=x*e^(a-x),width=40), zoom_intx=range_slider(intx[0],intx[1], default= ( intx[0] , (intx[0]+intx[1])/2),label= 'Interval for the diagram' ), x0=slider(intx[0] , intx[1], .1, default= (2*intx[0]+intx[1])/3 ,label='Initial Value $x_0$' ), parameter0=slider(param1[0] , param1[1], .1, default= (5*param1[0]+param1[1])/6 ,label='Parameter $a$' ), iterasyon=input_box(default=100,label='Number of iterations',width=15 ), figs=slider(2, 20, 1, default=6,label='Figure size'), ar=slider([2^n for n in [-10..10]], default=1,label='Aspect Ratio' ) ): f=f(a=parameter0) nok=[(x0,f(x=x0))]#list of points for i in range(iterasyon): nok.append((nok[2*i][1],nok[2*i][1] ) ) nok.append((nok[2*i][1],f(x=nok[2*i][1]) ) ) graf_nok=point(nok,frame=False,rgbcolor='black', pointsize=10,figsize=figs,aspect_ratio=ar)#, legend_label='origin') graf_ilk=point(nok[0],rgbcolor='green', pointsize=40) graf_ilk_line=list_plot( [ (x0,0), (x0,f(x=x0)) ], plotjoined=True, color='purple',alpha=.3) graf_son=point(nok[-1],rgbcolor='red', pointsize=40) graf_segments=list_plot(nok, plotjoined=True, color='purple',alpha=.3) graf=graf_ilk+graf_son+graf_nok+graf_segments+graf_ilk_line func=plot(f, (x,zoom_intx[0] ,zoom_intx[1] ),rgbcolor='orange') diagonal=plot(x, (x,zoom_intx[0] ,zoom_intx[1] ),rgbcolor='grey',aspect_ratio=ar) graf = graf + func+diagonal show(graf,xmin=zoom_intx[0] ,xmax=zoom_intx[1],frame=False,axes=True,axes_labels=['$x_n$','$f(x_n)$'])
Interact: please open in CoCalc