HP Forums
ODE's - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: HP Prime (/forum-5.html)
+--- Thread: ODE's (/thread-2298.html)



ODE's - lrdheat - 10-15-2014 08:06 PM

In desolve with ordinary differential equations, the general solution tends to have a mess of numbers and constants multiplying the variables of interest. Is there a way to collapse all of this into single constants to make the result easier to comprehend, more compact? See what happens when using desolve on y'' + y' - 6*y = 10*e^2*x - 18*e^3*x - 6*x - 11.

The answer provided is correct, but requires effort to boil down (on paper in my case) to something like y = G_0*e^2*x + G_1*e^-3*x + 2*x*e^2*x - 3*e^3*x + x + 2


RE: ODE's - mlpalacios8 - 10-16-2014 12:13 AM

I deeply fecund your concern Irdheat...

I have more examples.
**See attachments**.

I love the Prime but the ODE could use more power and polish.
The Prime CAS at its core is really powerful. It has solved many equations other calculators can't or get stuck at.
I'm sure this ODE situation can be improved.

[attachment=1130]
Returns a laplace vector as an answer

[attachment=1131]
Friend's TI Nspire CX Cas

[attachment=1132]
Webpage solving ODE

[attachment=1133][attachment=1134]
Prime solving the ODE, returns HUGE answer


RE: ODE's - parisse - 10-16-2014 06:03 AM

For linear ODE with constant coeffs, the answer is expressed with constants that are the value of y and derivatives at x=0.
Y:=desolve(y'' + y' - 6*y = 10*e^2*x - 18*e^3*x - 6*x - 11; normal(subst(Y,x=0));normal(subst(diff(Y,x),x=0));

For x^2*y'-3*x*y-y^2=0, it is an homogeneous equation, and you get the solution as parametric curves. Observe that the nspire misses the solution y=0.


RE: ODE's - parisse - 10-16-2014 07:55 AM

P.S.: most of the time you can not express parametric solutions of an homogeneous equation explicitly (i.e. y in terms of x with usual functions).
Here you can, indeed (using Xcas notations)
Y:=desolve(x^2*y'-3*x*y-2y^2=0);
[t]:=solve(Y[1,0]=x,` t`);
normal(t*x); returns x^3/(c_0^2-x^2)