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


Math Forum
»
Discussions
»
Software
»
comp.softsys.matlab
Notice: We are no longer accepting new posts, but the forums will continue to be readable.
Topic:
Matrix inversion  linear algebra  higher accuracy for some matrix rows ? (Tikhonov regularization???)
Replies:
6
Last Post:
Sep 11, 2012 12:49 PM




Matrix inversion  linear algebra  higher accuracy for some matrix rows ? (Tikhonov regularization???)
Posted:
Sep 10, 2012 3:55 PM


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...



