Example of complex ode on basis of 3-wave decay.
MGL code:
define t 50 ode !r '-b*f;a*conj(f);a*conj(b)-0.1*f' 'abf' [1,1e-3,0] 0.1 t ranges 0 t 0 r.max plot r(0) 'b';legend 'a' plot r(1) 'g';legend 'b' plot r(2) 'r';legend 'f' axis:box:legend
C++ code:
void smgl_3wave(mglGraph *gr) { gr->SubPlot(1,1,0,"<_"); if(big!=3) gr->Title("Complex ODE sample"); double t=50; mglData ini; ini.SetList(3, 1., 1e-3, 0.); mglDataC r(mglODEc("-b*f;a*conj(f);a*conj(b)-0.1*f","abf",ini,0.1,t)); gr->SetRanges(0, t, 0, r.Maximal()); gr->Plot(r.SubData(0),"b","legend 'a'"); gr->Plot(r.SubData(1),"g","legend 'b'"); gr->Plot(r.SubData(2),"r","legend 'f'"); gr->Axis(); gr->Box(); gr->Legend(); }