>> >> (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); >> >> >> >> >> >> 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); >> >> >> >> >> >> >> >> 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) >> >> >> >> >> 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); >> >> >> >> >> >> 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)=-1*(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)=10,ode_2,cb(0)=10}, 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],color= ["Red","Green"],axis=[gridlines=[5,thickness=0,color=gray] ],legend=[prvního,druhého],thickness=3); restart;a:=0.1;t:=1;k:=log(2);prv:=a*exp(-k*t);evalf(%);druh:= a/(1+2*a*k*t);evalf(%); >> >> >> >> (5.3)(5.3) >> >> >> >> (5.2)(5.2) 0.05000000000 0.08782488564 restart;t:=10;k:=log(2);a*exp(-k*t)=a/(1+1*a*k*t);solve(%,a);1/ (2*log(2));evalf(%); 1 0.7213475205 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:=5:k_2:=7:nsol := dsolve({ode_1,ca(0)=.001,ode_2,cb(0)=0, ode_3,cc(0)=0}, type=numeric); >> >> >> >> >> >> >> odeplot(nsol,[[t,ca(t)],[t,cb(t)],[t,cc(t)]],0..6e-1,labels=[t, c],legend=[a,b,c],thickness=3); 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:=50: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); >> >> >> >> >> >> 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:=50:k_2:=5:nsol := dsolve({ode_1,ca(0)=0.001,ode_2,cb(0)=0} , type=numeric); odeplot(nsol,[[t,ca(t)],[t,cb(t)]],0..2e-1,labels=[t,c],legend= [a,b],thickness=3); Vratná reakce 2A <--> B >> >> >> >> >> >> restart;with( DEtools ):with( plots ):with (linalg): ode_1:=diff(ca(t),t)=-k_1*(ca(t))^2+k_2*cb(t); ode_2:=diff(cb(t),t)=(k_1)*(ca(t))^2-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:=2:k_2:=5:nsol := dsolve({ode_1,ca(0)=1,ode_2,cb(0)=1}, type=numeric); odeplot(nsol,[[t,ca(t)],[t,cb(t)]],0..3,labels=[t,c],legend=[a, b],thickness=3); ešení využívající piblížení Reakce druheho ádu A+B->C, pevedená na pseudoprvní ád restart;with( DEtools ):with( plots ):with (linalg ): >> >> >> >> >> >> (10.1.1)(10.1.1) 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); odeplot(nsol,[[t,ca(t)]],0..0.1,labels=[t,c],legend=[a], thickness=3); >> odeplot(nsol,[[t,cb(t)]],0..0.1,labels=[t,c],legend=[b], thickness=3,color=[green]); >>