blamm64

15 Reputation

4 Badges

20 years, 85 days
Novice Maple User. Extensive experience programming Finite Element Analysis in Fortran 90/95

MaplePrimes Activity


These are replies submitted by blamm64

Thanks Tim, indeed I missed that.  So you have revealed that, with my very first question, I'm not perfect!

-Brian

Thanks Robert,

Let me take this opportunity to try to see if I understand your answers:

Q1 answer looks fine as is.

Q2: it appears that Maple will not 'go through' another solve with execution of your suggested call sol(2) since range was specified as 2 in the first execution of sol := dsolve(...), but I think the first execution (the one for sol) only solved until halt was triggered, so I'm not really sure another solve up to halt would be executed for your suggested sol(2).  Do you know if Maple would execute another solve process when sol(2) is executed?  But what I wonder about is if the time to halt is already 'embedded' in the first execution of sol := dsolve(...); that is I wonder if halt time is already embedded in the results of the first execution; the halt time is printed out in the message presented during the execution of the first sol, so it seems as if the halt time shoud already be accessible without another call to dsolve (via sol(2)).

Q3: for this particularly simple problem what you have suggested looks fine, but what if I had a system of, say, 25 equations with xS(t), d/dt(xS(t)), and d/dt^2(xS(t)) coupled in, say, 5 of those differential equations?  Would not the call to solve be extremely labor intensive?  Would a call to fsolve be more appropriate in that case?  Since the results of the first call to sol produces xS(t) effectively as an interpolation function (according to what I could find in the help system), and maybe even returns d/dt(xS(t)) as an interpolation function, I would think differentiation of an interpolating function should not be a problem, thus my conjecture perhaps eval or evalf might be involved, or perhaps subs, along with diff.  I guess it boils down to how does one differentiate an interpolation function that appears to be a Maple procedure.  I know this might be considered heresy (but that is not my intention), but in Mathematica the time dependent varaible(s) are returned as interpolating function(s), and one can feely differentiate those interpolation functions, to any order.  So, what if I wanted to determine, say, the third derivative of xS(t) to investigate what some people call the 'jerk' (rate of change of acceleration)?  What you have suggested could not be done if I wanted to know the evolution of the third (time) derivative of xS(t) in time.  In Mathematica the third derivative of xS(t) could simply be defined as xSttt[t_] = D[xS[t],{t,3}]./sol[[1]], where sol[[1]] is a list of replacement rules to the interpolation functions of the solutions variable(s).  In Mathematica, with InterpolationOrder->All, the interpolation function(s) of the solution(s) are of the same order as the underlying method used in the discrete solution.  As an aside, if I leave 'interr' to its default value of true, does that mean the resulting Maple interpolation functions returned of the solution are of the same order as used in the underlying method?

I notice that, so far, no one has ventured a try at answering Q4: how do I determine or create a function that uses the solution, and my example was how do I define a function (or whatever) that will give me the evolution of the force in the spring, which is effectively asking how do I produce a function that captures the evolution of fGrnd(t)?

Finally, does anyone know where a very detailed, thorough 'dive' into Maple numerical solutions to (at least) ODEs might be found?  I have looked at a number of resources available in the Maple help system, including the Maple Portal, but could not find details that answered any of my questions, but then, I missed what was available in the help system regarding how to add extra lines to the 2-D form of piecewise!

Again, Thank You Very Much for your time Robert.

-Brian

Thanks Robert,

Let me take this opportunity to try to see if I understand your answers:

Q1 answer looks fine as is.

Q2: it appears that Maple will not 'go through' another solve with execution of your suggested call sol(2) since range was specified as 2 in the first execution of sol := dsolve(...), but I think the first execution (the one for sol) only solved until halt was triggered, so I'm not really sure another solve up to halt would be executed for your suggested sol(2).  Do you know if Maple would execute another solve process when sol(2) is executed?  But what I wonder about is if the time to halt is already 'embedded' in the first execution of sol := dsolve(...); that is I wonder if halt time is already embedded in the results of the first execution; the halt time is printed out in the message presented during the execution of the first sol, so it seems as if the halt time shoud already be accessible without another call to dsolve (via sol(2)).

Q3: for this particularly simple problem what you have suggested looks fine, but what if I had a system of, say, 25 equations with xS(t), d/dt(xS(t)), and d/dt^2(xS(t)) coupled in, say, 5 of those differential equations?  Would not the call to solve be extremely labor intensive?  Would a call to fsolve be more appropriate in that case?  Since the results of the first call to sol produces xS(t) effectively as an interpolation function (according to what I could find in the help system), and maybe even returns d/dt(xS(t)) as an interpolation function, I would think differentiation of an interpolating function should not be a problem, thus my conjecture perhaps eval or evalf might be involved, or perhaps subs, along with diff.  I guess it boils down to how does one differentiate an interpolation function that appears to be a Maple procedure.  I know this might be considered heresy (but that is not my intention), but in Mathematica the time dependent varaible(s) are returned as interpolating function(s), and one can feely differentiate those interpolation functions, to any order.  So, what if I wanted to determine, say, the third derivative of xS(t) to investigate what some people call the 'jerk' (rate of change of acceleration)?  What you have suggested could not be done if I wanted to know the evolution of the third (time) derivative of xS(t) in time.  In Mathematica the third derivative of xS(t) could simply be defined as xSttt[t_] = D[xS[t],{t,3}]./sol[[1]], where sol[[1]] is a list of replacement rules to the interpolation functions of the solutions variable(s).  In Mathematica, with InterpolationOrder->All, the interpolation function(s) of the solution(s) are of the same order as the underlying method used in the discrete solution.  As an aside, if I leave 'interr' to its default value of true, does that mean the resulting Maple interpolation functions returned of the solution are of the same order as used in the underlying method?

I notice that, so far, no one has ventured a try at answering Q4: how do I determine or create a function that uses the solution, and my example was how do I define a function (or whatever) that will give me the evolution of the force in the spring, which is effectively asking how do I produce a function that captures the evolution of fGrnd(t)?

Finally, does anyone know where a very detailed, thorough 'dive' into Maple numerical solutions to (at least) ODEs might be found?  I have looked at a number of resources available in the Maple help system, including the Maple Portal, but could not find details that answered any of my questions, but then, I missed what was available in the help system regarding how to add extra lines to the 2-D form of piecewise!

Again, Thank You Very Much for your time Robert.

-Brian

1 2 Page 2 of 2