Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.



Re: Matrix inversion  linear algebra  higher accuracy for some matrix rows ? (Tikhonov regularization???)
Posted:
Sep 11, 2012 11:07 AM


"someone" <newsboost@gmail.com> wrote in message news:k2lgj3$s1a$1@dontemail.me... > Here's the deal: > > Amatrix is approx. 90x90, mostly diagonal but also quite some offdiagonal > elements here and there. > > Some rows in the matrix are equations that is harder to satisfy than > others because something is rotating at different speeds  it means that > those matrix equations (the lower rows in A) that has a physical > connection to something that rotates really fast, causes some severe > oscillations (it gives oscillating accelerations and wrong forces) because > the timestep is very high compared to the rotation speed for the last rows > in A... Got it? > > Ok, is there any way to make: x = A\b more accurate for the lower > rows/equations or ??? > > > Another possibility I've been thinking about  in order to avoid these > oscillations I talked about before  is to use regularization, maybe? I > did a project some years ago using Tikhonov regularization, but here > AFAIR  the idea was that all the elements in the solutionvector x could > not change too much... This will allow me to use higher timesteps and > avoid the oscillations... Understand it ? > > > ELABORATION FOR THOSE WHO DON'T UNDERSTAND THE PHYSICS: > Here's an elaboration of why I have a problem with high angular > velocities: If some part of the problem (top rows in A) rotates very slow, > i.e. at 1 rad/s and your timestep is 0.01 sec  it means that you have 100 > timesteps per rotation. That's ok... However, the lower rows in A rotates > much faster  then I only get maybe 58 timesteps per rotation. This gives > some VERY annoying oscillations and forces going in "random" directions > because the motion is not smoothly captured. > > I want my program to solve x = A\b quickly and efficent  any ideas that > might help me (and keep the computation time reasonable) ? Any tricks / > tips ? > > I really hope to hear from some clever experts here... Thanks...
You might try lscov: http://www.mathworks.com/help/techdoc/ref/lscov.html
It will allow you to weight the observations.
 Loren http://blogs.mathworks.com/loren/ http://www.mathworks.com/matlabcentral/



