Help numerically solving over constrained, nonlinear, multivariate differential equation system.
11 views (last 30 days)
Show older comments
I am attempting to simulate the behavior of a five linkage mechanism, with spring dampers in a mechanism. Additionally, the mechanism is on a vehicle that can be accelerating forward, backward, up, down, and turning at a constant radius. I have defined the equations of motion for each body and am left with around 40 non linear equations. For much of the analysis though, the vehicle accelerations are zero, resulting in a bunch of the equations becoming zero. I do not desire to have to sort through the equations to remove linearly dependent ones or ones that are 0==0, so, I am using fsolve with the 'levenberg-marquardt' algorithm from the optimization toolbox inside of ODE45 to attempt to simultaneously solve for all of the forces, accelerations, velocities, and positions of each linkage. What I am finding is that for a given initial guess, fsolve minimizes the 40 equations, but does not find the root of the 40 equations, presumably because of the nonlinearities. My last attempt was to utilize a random generator to continuously guess new values to hand to fsolve but that doesn't appear to be working and takes a really long time. Is there some kind of random seed option from fsolve to make it continue trying to solve until it finds a reasonable solution?
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!