Find specific point in unknown "function"

2 views (last 30 days)
Hello,
I have the following problem:
I do know the "shape" of the relationship between two variables x and y, but I don't know the exact values and it takes a lot of time to calculate them.. (for each x I can find an y)
I'm interested in finding the point, where y=1. To get there I want to have to calculate as few values as possible.
Does anyone know an algorithm, that could help me do this and is more "efficient" than just increeasing gradualy x from x_start till I get the desired y?
Thanks in advance!
PS: here you can see the genmeral shape of the relationship:
function.jpg
  3 Comments
Jan
Jan on 29 Mar 2019
@Torsten: I'd vote for your solution, if it is posted as answer.

Sign in to comment.

Accepted Answer

Alan Weiss
Alan Weiss on 29 Mar 2019
Edited: Alan Weiss on 29 Mar 2019
The most efficient way is to use fzero as Torsten said. Your function is @(x)y(x)-1. For the most efficiency, set the initial point x0 to an interval [x1,x2] where the function changes sign between x1 and x2.
Alan Weiss
MATLAB mathematical toolbox documentation
P.S. If you have Optimization Toolbox, then fsolve can be even faster than fzero.
  1 Comment
Peter Uwsen
Peter Uwsen on 29 Mar 2019
Ok cool!
Thanks for the quick answers :)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!