Question: highly nonlinear set of ivp

I have a set of 12 odes. I solve for the 12 dependent variables using dsolve, numeric and then plot their solutions using odeplot. When I omit my highly nonlinear elastic force terms, everything is ok. However, when I include the elastic force terms, dsolve seems to work fine and yield a result, but I cannot substitute the solution coming from dsolve,numeric back into the dependent variables. I get the message "global 'x' must be assigned to a numeric value before obtaining a solution". Well, the only thing I have changed is the elastic force term, and now I don't know what to do! Please help me out in this! Can't maple deal with highly nonlinear problems?

Here's what the last few lines of my code looks like (if I omit the nonlinear elastic force terms in my equations, everything seems to work fine. Is it due to nonlinearity that maple is lost?)

 for i to 12 do eqn[i] := (mass, dde)[i]+elasticforces[i] = qext[i] end do:

nsol := dsolve({e1(0) = 0, eqn[10], eqn[12], eqn[11], eqn[1], eqn[2], eqn[3], eqn[4], eqn[5], eqn[6], eqn[7], eqn[8], eqn[9], e7(0) = 1.2, e8(0) = 0, e9(0) = 0, e10(0) = 0, e11(0) = 0, e12(0) = 0, (D(e1))(0) = 0, (D(e2))(0) = 0, (D(e3))(0) = 0, (D(e4))(0) = 0, (D(e5))(0) = 0, (D(e6))(0) = 0, (D(e7))(0) = 0, (D(e8))(0) = 0, (D(e9))(0) = 0, (D(e10))(0) = 0, (D(e11))(0) = 0, (D(e12))(0) = 0, e2(0) = 0, e3(0) = 0, e4(0) = 0, e5(0) = 0, e6(0) = 0}, {e1(t), e2(t), e3(t), e4(t), e5(t), e6(t), e7(t), e8(t), e9(t), e10(t), e11(t), e12(t)}, numeric, output = listprocedure):

nsole1 := subs(nsol, e1(t)); nsole2 := subs(nsol, e2(t)); nsole3 := subs(nsol, e3(t)); nsole4 := subs(nsol, e4(t)); nsole5 := subs(nsol, e5(t)); nsole6 := subs(nsol, e6(t)); nsole7 := subs(nsol, e7(t)); nsole8 := subs(nsol, e8(t)); nsole9 := subs(nsol, e9(t)); nsole10 := subs(nsol, e10(t)); nsole11 := subs(nsol, e11(t)); nsole12 := subs(nsol, e12(t)):

> nsole1(0.5)
Error, (in nsole1) global 'x' must be assigned to a numeric value before obtaining a solution
 

> odeplot(nsol, [t, e1(t)], 0 .. 1, labels = ["te1(t)"], title = t vs e1(t))
Warning, cannot evaluate the solution past the initial point, problem may be complex, initially singular or improperly set up
 

 

Please Wait...