From: Yu Li on
Hi,

I need to solve an equation. each term is rather small, say, about 1e-13. I want the fzero solver to stop till the value of the function is smaller than 1e-19. I figure fzero don't take TolFun. Is there anything else I can do? Or I have to use another solver? Thank you very much.

Best
Yu
From: Alan Weiss on
On 6/23/2010 12:28 PM, Yu Li wrote:
> Hi,
>
> I need to solve an equation. each term is rather small, say, about
> 1e-13. I want the fzero solver to stop till the value of the function is
> smaller than 1e-19. I figure fzero don't take TolFun. Is there anything
> else I can do? Or I have to use another solver? Thank you very much.
>
> Best
> Yu

Have you tried using fzero on your problem?
If not, please do, and see if the results are satisfactory.
If so, in what way were the results unsatisfactory? If you perturb the
resulting solution x by executing x+eps(x) and x-eps(x), do you get
better answers?

You could also try scaling your problem so the terms are not so small.

Alan Weiss
MATLAB mathematical toolbox documentation
From: Yu Li on
Hi,
Thank you for your repaly. I did try fzero. The results are not satifactory because the terms in the function are pretty small, in the order of e-13. When I check the function values, some of them is only e-14. The smallest one is e-17. I feel a zero should be at least in the order of e-17. Thanks again.

Yu

Alan Weiss <aweiss(a)mathworks.com> wrote in message <hvtgc6$ji$1(a)fred.mathworks.com>...
>
> Have you tried using fzero on your problem?
> If not, please do, and see if the results are satisfactory.
> If so, in what way were the results unsatisfactory? If you perturb the
> resulting solution x by executing x+eps(x) and x-eps(x), do you get
> better answers?
>
> You could also try scaling your problem so the terms are not so small.
>
> Alan Weiss
> MATLAB mathematical toolbox documentation
From: Yu Li on
"> > Have you tried using fzero on your problem?
> > If not, please do, and see if the results are satisfactory.
> > If so, in what way were the results unsatisfactory? If you perturb the
> > resulting solution x by executing x+eps(x) and x-eps(x), do you get
> > better answers?
> >
> > You could also try scaling your problem so the terms are not so small.
> >
> > Alan Weiss
> > MATLAB mathematical toolbox documentation

BTW, can you specify how to scaling the problem? Thanks a lot.

Yu
From: someone on
"Yu Li" <yuliyy(a)gmail.com> wrote in message <hvtcn4$17s$1(a)fred.mathworks.com>...
> Hi,
>
> I need to solve an equation. each term is rather small, say, about 1e-13. I want the fzero solver to stop till the value of the function is smaller than 1e-19. I figure fzero don't take TolFun. Is there anything else I can do? Or I have to use another solver? Thank you very much.
>
> Best
> Yu

Are you sure about fzero not taking the TolFun?
According to the documentation, fzero uses the
optmiset structure which uses TolFun.
Or. look at the TolX parameter in the options for fzero.

doc fzero
doc optmiset