(1.1)(1.1) (1.2)(1.2) Zero Order restart;with( DEtools ):with( plots ):with (linalg): ode_1:=diff(ca(t),t)=-k_1;ode_2:=diff(cb(t),t)=(k_1); dsolve({ode_1,ca(0)=ca0},ca(t)); dsolve({ode_2,cb(0)=cb0},cb(t)); sol:= dsolve({ode_1,ca(0)=ca0,ode_2,cb(0)=cb0},{ca(t),cb(t)}) ; k_1:=1:nsol := dsolve({ode_1,ca(0)=1,ode_2,cb(0)=0}, type= numeric, output=listprocedure);#assign(nsol);f:=eval(ca(t), sol);f(t=1); nsol(1); odeplot(nsol,[[t,ca(t)],[t,cb(t)]],0..1,labels=[t,c],legend= [c_A,c_B],thickness=3); c_A c_B t 0 1 c 0 1 Prvniho radu A ->B restart;with( DEtools ):with( plots ):with (linalg): ode_1:=diff(ca(t),t)=-k_1*ca(t); ode_2:=diff(cb(t),t)=(k_1)*ca(t); dsolve({ode_1,ca(0)=ca0},ca(t)); dsolve({ode_2,cb(0)=cb0},cb(t)); (2.1)(2.1) sol:= dsolve({ode_1,ca(0)=ca0,ode_2,cb(0)=cb0},{ca(t),cb(t)}) ; k_1:=1:nsol := dsolve({ode_1,ca(0)=1,ode_2,cb(0)=0}, type= numeric, output=listprocedure);#assign(nsol);f:=eval(ca(t), sol);f(t=1); nsol(1); odeplot(nsol,[[t,ca(t)],[t,cb(t)]],0..5,labels=[t,c],legend= [a,b],thickness=3); a b t 0 1 2 3 4 5 c 0 1 Reakce druheho radu 2A->B restart;with( DEtools ):with( plots ):with (linalg ): ode_1:=diff(ca(t),t)=-k_1*(ca(t))^2; ode_2:=diff(cb(t),t)=(k_1)*(ca(t))^2; dsolve({ode_1,ca(0)=ca0},ca(t)); dsolve({ode_2,cb(0)=ca0},cb(t)); dsolve({ode_1,ca(0)=ca0,ode_2,cb(0)=cb0},{ca(t),cb(t)}); k_1:=1:nsol := dsolve({ode_1,ca(0)=1,ode_2,cb(0)=0}, type= numeric); odeplot(nsol,[[t,ca(t)],[t,cb(t)]],0..80,labels=[t,c],legend= [a,b],thickness=3); (4.1)(4.1) a b t 0 10 20 30 40 50 60 70 80 c 0 1 Reakce druheho radu A+B->C restart;with( DEtools ):with( plots ):with (linalg ): ode_1:=diff(ca(t),t)=-k_1*(ca(t))*(cb(t)); ode_2:=diff(cb(t),t)=-k_1*(ca(t))*(cb(t)); ode_3:=diff(cc(t),t)=k_1*(ca(t))*(cb(t)); dsolve({ode_1,ca(0)=ca0},ca(t)); dsolve({ode_2,cb(0)=ca0},cb(t)); dsolve({ode_1,ca(0)=ca0,ode_2,cb(0)=cb0,ode_3,cc(0)=cc0},{ca (t),cb(t),cc(t)}); k_1:=1:nsol := dsolve({ode_1,ca(0)=1,ode_2,cb(0)=.1,ode_3,cc (0)=0}, type=numeric); odeplot(nsol,[[t,ca(t)],[t,cb(t)],[t,cc(t)]],0..80,labels=[t, c],legend=[a,b,c],thickness=3); a b c t 0 10 20 30 40 50 60 70 80 c 0 1 Srovnání prvního a druhého ádu restart;with( DEtools ):with( plots ):with (linalg): ode_1:=diff(ca(t),t)=-k_1*ca(t); ode_2:=diff(cb(t),t)=-(k_1)*(cb(t))^2; dsolve({ode_1,ca(0)=ca0},ca(t)); dsolve({ode_2,cb(0)=cb0},cb(t)); sol:= dsolve({ode_1,ca(0)=ca0,ode_2,cb(0)=cb0},{ca(t),cb(t)}) ; (5.1)(5.1) k_1:=log(2):nsol := dsolve({ode_1,ca(0)=1,ode_2,cb(0)=1}, type=numeric, output=listprocedure);#assign(nsol);f:=eval(ca (t), sol);f(t=1); %nsol(1); odeplot(nsol,[[t,ca(t)],[t,cb(t)]],0..5,labels=[t,c],legend= [prvního,druhého],thickness=3); prvního druhého t 0 1 2 3 4 5 c Paralelni reakce A->B,A->C restart;with( DEtools ):with( plots ):with (linalg ): ode_1:=diff(ca(t),t)=-(k_1+k_2)*ca(t); ode_2:=diff(cb(t),t)=(k_1)*ca(t); ode_3:=diff(cc(t),t)=(k_2)*ca(t); dsolve({ode_1,ca(0)=ca0,ode_2,cb(0)=cb0,ode_3,cc(0)=cc0},{ca (t),cb(t),cc(t)}); dsolve({ode_2,cb(0)=cb0},cb(t)); k_1:=1.8:k_2:=2:nsol := dsolve({ode_1,ca(0)=1,ode_2,cb(0)=0, ode_3,cc(0)=0}, type=numeric); odeplot(nsol,[[t,ca(t)],[t,cb(t)],[t,cc(t)]],0..2,labels=[t, c],legend=[a,b,c],thickness=3); a b c t 0 1 2 c 0 1 Nasledne reakce restart;with( DEtools ):with( plots ):with (linalg): ode_1:=diff(ca(t),t)=-k_1*ca(t); ode_2:=diff(cb(t),t)=k_1*ca(t)-k_2*cb(t); ode_3:=diff(cc(t),t)=k_2*cb(t); dsolve({ode_1,ca(0)=ca0},ca(t)); dsolve({ode_2,cb(0)=cb0},cb(t)); dsolve({ode_3,cc(0)=cc0},cc(t)); dsolve({ode_1,ca(0)=ca0,ode_2,cb(0)=cb0,ode_3,cc(0)=cc0},{ca (t),cb(t),cc(t)}); k_1:=1:k_2:=5:nsol := dsolve({ode_1,ca(0)=1,ode_2,cb(0)=0, ode_3,cc(0)=0}, type=numeric); odeplot(nsol,[[t,ca(t)],[t,cb(t)],[t,cc(t)]],0..5,labels=[t, c],legend=[a,b,c],thickness=3); a b c t 0 1 2 3 4 5 c 0 1 Vratná reakce A <--> B restart;with( DEtools ):with( plots ):with (linalg): ode_1:=diff(ca(t),t)=-k_1*ca(t)+k_2*cb(t); ode_2:=diff(cb(t),t)=(k_1)*ca(t)-k_2*cb(t); dsolve({ode_1,ca(0)=ca0},ca(t)); dsolve({ode_2,cb(0)=cb0},cb(t)); dsolve({ode_1,ca(0)=ca0,ode_2,cb(0)=cb0},{ca(t),cb(t)}); k_1:=5:k_2:=4:nsol := dsolve({ode_1,ca(0)=1,ode_2,cb(0)=.5}, type=numeric); odeplot(nsol,[[t,ca(t)],[t,cb(t)]],0..1,labels=[t,c],legend= [a,b],thickness=3); a b t 0 1 c ešení využívající piblížení Reakce druheho ádu A+B->C, pevedená na pseudoprvní ád (9.1.1)(9.1.1) restart;with( DEtools ):with( plots ):with (linalg ): ode_1:=diff(ca(t),t)=-k_1*(ca(t))*(cb(t)); ode_2:=diff(cb(t),t)=-k_1*(ca(t))*(cb(t)); ode_3:=diff(cc(t),t)=k_1*(ca(t))*(cb(t)); dsolve({ode_1,ca(0)=ca0},ca(t)); dsolve({ode_2,cb(0)=ca0},cb(t)); dsolve({ode_1,ca(0)=ca0,ode_2,cb(0)=cb0,ode_3,cc(0)=cc0}, {ca(t),cb(t),cc(t)}); k_1:=1:nsol := dsolve({ode_1,ca(0)=1,ode_2,cb(0)=100,ode_3, cc(0)=0}, type=numeric); odeplot(nsol,[[t,ca(t)],[t,cb(t)],[t,cc(t)]],0..0.1,labels= [t,c],legend=[a,b,c],thickness=3); a b c t 0 c 0 20 40 60 80 100 odeplot(nsol,[[t,ca(t)]],0..0.1,labels=[t,c],legend=[a], thickness=3); a t 0 c 0 1 odeplot(nsol,[[t,cb(t)]],0..0.1,labels=[t,c],legend=[b], thickness=3,color=[green]); b t 0 c 99 100