Small-valued variables convergence tolerance

Please, how do I set convergence tolerance for iterative simulation of very small variable so as not to exceed the PC's rounding-off limit.

3 Comments

You could multiply everything in your function by some value. Then the very small variable would not be so small afterwards.
@Orllaem: It would be helpful if you post more details of the problem.
@ all: Thanks for your comments, I am a bit busy now, I will give more details later

Sign in to comment.

Answers (1)

The round-off limits are relative. There is no problem for calculting values of 1.2345678901234e-187, as long as all concerned values have the same magnitude:
1.2345678901234e-187 + 1.0987654321234e-187 % Accurate!
-1.0 + 1.2345678901234e-187 + 1.0 % Loss of accuracy
Multiplying all values by 1e+187 would not change the effect.
This argument holds true until you reach realmin = 2.2251e-308. Are you talking about values smaller than 2.2251e-292?

3 Comments

Well, if the start value is small, and the convergence criterium is small, then the magnitude of the value will matter, if it is expressed as an absolute value, which it generally is.
@Jose-Luis: I do not understand. Do you mean something like this: When the start value is small and the series converges slowly, an absolute convergence criterium is not appropriate, if it is too large?
I don't think the speed of convergence matters, but yes. An absolute convergence criterium might be inadequate if the value to be minimized is itself small (or at least of the same order of magnitude as the criterium) and doesn't show much variation.
Of course, it might not matter at all if the value to be minimized varies wildly. I should have been more careful with my language and said that the magnitude of the value might matter.

Sign in to comment.

Products

Asked:

on 20 Dec 2012

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!