Message Boards Message Boards

0
|
5521 Views
|
3 Replies
|
0 Total Likes
View groups...
Share
Share this post:

DSolve[ ] returns Input again?

Posted 3 years ago

I am solving a differential/algebra system of equations (actually the Euler-Lagrange case). The thing is that when I run the command, it does not returns error nor answer, it just repeats the very same line I write but with the expressions expanded. I attach the notebook.

Thank you so much!!! I really appreciate your help.

Attachments:
POSTED BY: jose hoyos
3 Replies

First I rationalized your equations. Then I noticed that the equation for x[t] separates and is very easy. Replacing this solution into the equation for z[t] I saw that this becomes singular for a value of t between 0 and 1:

F = Derivative[3][x][
       t]^2 + ((-3*(-0.75 + x[t])*
           Derivative[1][x][
             t]^3)/(0.48999999999999994 - (-0.75 + x[t])^2)^(3/
            2) - (3*(-0.75 + x[t])^3*
           Derivative[1][x][
             t]^3)/(0.48999999999999994 - (-0.75 + x[t])^2)^(5/
            2) - (3*Derivative[1][x][t]*Derivative[2][x][t])/
         Sqrt[0.48999999999999994 - (-0.75 + x[t])^2] - (3*(-0.75 + 
              x[t])^2*Derivative[1][x][t]*
           Derivative[2][x][
            t])/(0.48999999999999994 - (-0.75 + x[t])^2)^(3/2) + 
        6*Derivative[1][z][t]*
         Derivative[2][z][t] - ((-0.75 + x[t])*Derivative[3][x][t])/
         Sqrt[0.48999999999999994 - (-0.75 + x[t])^2] + 
        2*z[t]*Derivative[3][z][t])^2 //
    Rationalize // Simplify;
bdryX = {x[0] == 0, x[1] == 1, x'[0] == 0,
   x''[0] == 0, x'[1] == 0, x''[1] == 0};
bdryZ = {z[0] == 0.3162, z[1] == 0.5884,
    z''[0] == 0, z'[1] == 0, z''[1] == 0} // Rationalize;
eqs0 = Solve[{D[D[F, z'''[t]], {t, 3}] + D[D[F, z'[t]], {t, 1}] ==
         D[D[F, z''[t]], {t, 2}] + D[F, z[t]],
        D[D[F, x'''[t]], {t, 3}] + D[D[F, x'[t]], {t, 1}] ==
         D[D[F, x''[t]], {t, 2}] + D[F, x[t]]} // Simplify,
      D[{x[t], z[t]}, {t, 6}]][[1]] /.
    Rule -> Equal // Simplify;
eqx = eqs0[[1]]
solx = DSolve[Join[{eqx}, bdryX], x, t][[1]]
eqz = eqs0[[2]] /. solx
eqz /. Solve[Denominator[eqz[[2]]][[1, 1]] == 0 &&
     0 < t < 1][[1]] // Simplify
POSTED BY: Gianluca Gorni
Posted 6 months ago

I met the same problem today. I put the code into wolfram online, I get a result. But my desktop version of Mathematica returned the input to me exactly. There must be a bug.

POSTED BY: Nan Li

It is a nonlinear boundary value problem, unlikely to have a closed-form solution. Try NDSolve.

POSTED BY: Gianluca Gorni
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract