Question: dsolve/event or dsolve/Error Control?

It will be possible to manipulate this behavior with options "dsolve / event" or "dsolve / Error Control"?

> restart;
> Digits;                                10
> ode := sin(x(t))*(diff(x(t), t, t))+x(t)^3 = t*sin(x(t));

> ics := x(0) = 0, (D(x))(0) = 0;

> s := 250;
> p := dsolve({ics, ode}, numeric, range = 0 .. 5*Pi, 'output' = Array([seq(0.6280e-1*i, i = 0 .. s)]));

Warning, cannot evaluate the solution past the initial point, problem may be complex, initially singular or improperly set up

> DEtools[convertsys]({ode}, {ics}, {x(t)}, t, x, y);

 [[                                                      3
 [[                            t sin(x[1]) - x[1]
 [[y[1] = x[2], y[2] = -------------------  ] 
 [[                                    sin(x[1])      ]   

...

> ics := x(0) = 0.5e-19, (D(x))(0) = 0.5e-19;

> s := 250;
> p := dsolve({ics, ode}, numeric, range = 0 .. 5*Pi, 'output' = Array([seq(0.6280e-1*i, i = 0 .. s)]));

Matrix(2, 1, {(1, 1) = Matrix(1, 3, {(1, 1) = t, (1, 2) = x(t), (1, 3) = diff(x(t), t)}), (2, 1) = Vector(4, {(1) = ` 251 x 3 `*Matrix, (2) = `Data Type: `*anything, (3) = `Storage: `*rectangular, (4) = `Order: `*Fortran_order})})

> plots:-odeplot(p, [t, x(t)], view = [DEFAULT, 0 .. 4]);

 

numericalDE.mw

Please Wait...