vv

13375 Reputation

20 Badges

9 years, 139 days

MaplePrimes Activity


These are answers submitted by vv

If you express the ode in a standard form (as I told you in a comment a few days ago for a similar question),  ODESteps works.

restart;
ode1:=diff(y(x), x) = abs(x - 2)^(2/3);
ic:=y(2)=1;
Student:-ODEs:-ODESteps([ode1,ic]);

Note that the final result is actually 
y(x) = 1+3/5*abs(x-2)^(5/3)*signum(x-2);

Edit.
Maybe better (valid in complex too):
 

ode1:=diff(y(x), x) = ((x - 2)^2)^(1/3);

then:  

Your mysol is not in the form expected by odetest for an implicit solution: F(y(x), x) = 0; in this form everything is OK.

Of course, odetest could have converted mysol, but it does not; maybe it should.

1. There should only be two (solutions).

Actually there is only one: y(x) = c1 * x + c2.

2. Where did the third solution come from? 

E.g. from y' y'' = 0 <==>  (y' ^ 2)' = 0 <==> y'^2 = c1^2 <==> y' = +- c1 <==> y = c1*x + c2 or  y = -c1*x + c2.

isolve recognizes several known equations such as Pytagorean triples, Pell's equation etc and uses the corresponding theorems or algorithms.

It is better and easier to use first symbolic parameters.

dsolve({diff(f(x),x) = a*f(x)^(2/3)+b*f(x), f(1)=c})

                               

V := int(int(int(1, x = -x1 .. x1), y = -r .. r), z = 0 .. h) assuming positive;
restart;
Order:=20;
ode:=t*diff(u(t),t,t)+8*diff(u(t),t)+18*a*t*u(t)=-4*a*t*u(t)*ln(u(t));
ic1:=u(0)=1;   ic2:=D(u)(0)=0;
sol := dsolve([ode, ic1, ic2], u(t), series);
rec := gfun:-seriestorec(subs(sol, u(t)), A(n));
ode1 := gfun:-rectodiffeq(rec[1], A(n), u(t));

dsolve(ode1);
odetest(%, [ode, ic1, ic2]) assuming real;

                            
                       u(t) = exp(-a*t^2)
                           [0, 0, 0]

You may use
map(`*`, ineq, c);
It results a<b even when c is negative.
To avoid potential errors, you may use:
map(`*`, ineq, abs(c));  #  assuming c>0;

The "shortcut" < ... > obviously has very special evaluation (and parsing) rules, otherwise ";" would not work.

There are many Maple commands that do not accept directly sequence parameters. For example:

S := k, k=1..3;
#                       S := k, k = 1 .. 3

sum(S);
#                               6

add(S);
# Error, (in simpl/relopsum) invalid terms in product: 1 .. 3

add(S[1], S[2]);
#                              6

 

When you dsolve without IC, the branch of LambertW is not known and the generic branch "0" is used (instead "-1").

The correct approach is to use the option implicit for dsolve without IC. Then change accordingly eq. It will be OK.

A double (or multi) limit is in general more difficult than an iterated limit. But in your case the function (given by expr) is very simple, so both limits are easy to compute. And are indeed, if kernelopts('assertlevel'=2) is removed. However probably a  debugging assertion in limit/multi... produces the error.

 

'(sqrt(2)*infinity + 1)/infinity';
 #                              0

'(a*infinity + 1)/infinity';
 #                              0

'(2*infinity + 1)/infinity';
#                           undefined

'(infinity^2 + 1)/infinity';
#                           undefined

'arcsin((sqrt(3)*infinity + 2)/(2*infinity))'; 
#                           arcsin(0) 

 

Unfortunately, you will need numerical values for n and s. For example:

restart;
Int((n*p+exp(n*p))*exp(-p)*p^(s-1)*f^s/((n*p+exp(2*n*p))*factorial(s)), p = 0 .. 1):
J:=simplify(%):
K:=eval(J, [n=2,s=3]):
# value(K);
evalf(K);

                       0.008566509780 * f^3

 

() means NULL

So, the ODE has not solutions. Actually this is easy to check. Calling dsolve without initial value it results the general solution:
Y = ln(-ln(x)*ln(5)-c*ln(5))*x/ln(5)
and

limit(Y, x=0) = 0,  so y(0) cannot be 5.

 

4 5 6 7 8 9 10 Last Page 6 of 117