| |
 |
|
|
Science Forum Index » Math - Numerical Analysis Forum » root finding of "noisy" function
Page 1 of 1
|
| Author |
Message |
| Guest |
Posted: Wed May 09, 2007 2:40 am |
|
|
|
|
Hello,
I have an interesting problem.
During a measurement I need to determine a power p for which a signal
R is zero. This has to be done lots of times (1000) for different
frequencies f. (R is the resistance difference due to heating, as a
function of the power, nearly an exponential, the effect is not the
same for all frequencies)
Mathematically spoken I need to find the roots of something like
R(p; f) = c1(f) exp(c2(f) p) - R0 // this is just an approximation on
how the experiment behaves
the right side cannot be evaluated because I don't know the
coefficients c1(f) and c2(f), anyway this is just a rough
approximation.
In reality, calling R(p, f) will do a measurement with the result R,
this is "computationally expensive", as
it takes about 1 second.
The method of the false position mostly delivers fast convergence, but
as R(p, f) is determined in a real measurement there is some noise,
and this will cause instability, for example the approximation lies
outside of the initial range of powers) (the power range is bound, to
much power
will destroy the sample).
My question: is there a root-finding algorithm that is
a) insensitive to (occasional) erroneous function evaluations
b) with a bound search-space (as the method of the false position
would be without any errors)
many thanks
Daniel |
|
|
| Back to top |
|
| Peter Spellucci |
Posted: Wed May 09, 2007 6:33 am |
|
|
|
Guest
|
In article <1178696428.233452.284720@o5g2000hsb.googlegroups.com>,
rubbishemail@web.de writes:
Quote: Hello,
I have an interesting problem.
During a measurement I need to determine a power p for which a signal
R is zero. This has to be done lots of times (1000) for different
frequencies f. (R is the resistance difference due to heating, as a
function of the power, nearly an exponential, the effect is not the
same for all frequencies)
Mathematically spoken I need to find the roots of something like
R(p; f) = c1(f) exp(c2(f) p) - R0 // this is just an approximation on
how the experiment behaves
the right side cannot be evaluated because I don't know the
coefficients c1(f) and c2(f), anyway this is just a rough
approximation.
In reality, calling R(p, f) will do a measurement with the result R,
this is "computationally expensive", as
it takes about 1 second.
The method of the false position mostly delivers fast convergence, but
as R(p, f) is determined in a real measurement there is some noise,
and this will cause instability, for example the approximation lies
outside of the initial range of powers) (the power range is bound, to
much power
will destroy the sample).
My question: is there a root-finding algorithm that is
a) insensitive to (occasional) erroneous function evaluations
b) with a bound search-space (as the method of the false position
would be without any errors)
many thanks
Daniel
if you can be sure that (d/dp)R(p;f) is without zero in the range of your
current guess for an inclusion of the zero p*, then you could minimize
(R(p;f))^2 instead and for minimization of noisy functions on an interval there
are reliable methods, for example snobfit of neumaier.
(if the derivative could have zeroes, then there could be minima of the square
which are not of value zero, and this could fail)
hth
peter |
|
|
| Back to top |
|
| Guest |
Posted: Thu May 10, 2007 6:04 am |
|
|
|
|
Quote: if you can be sure that (d/dp)R(p;f) is without zero in the range of your
current guess for an inclusion of the zero p*, then you could minimize
(R(p;f))^2 instead and for minimization of noisy functions on an interval there
are reliable methods, for example snobfit of neumaier.
(if the derivative could have zeroes, then there could be minima of the square
which are not of value zero, and this could fail)
hth
peter
Hello Peter,
thank you for the interesting idea.
Daniel |
|
|
| Back to top |
|
| |
|
Page 1 of 1
All times are GMT - 5 Hours
The time now is Thu Jan 08, 2009 12:54 am
|
|