Find specific point in unknown "function"

1 vue (au cours des 30 derniers jours)
Peter Uwsen
Peter Uwsen le 29 Mar 2019
Commenté : Peter Uwsen le 29 Mar 2019
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 commentaires
KSSV
KSSV le 29 Mar 2019
interp1....
Jan
Jan le 29 Mar 2019
@Torsten: I'd vote for your solution, if it is posted as answer.

Connectez-vous pour commenter.

Réponse acceptée

Alan Weiss
Alan Weiss le 29 Mar 2019
Modifié(e) : Alan Weiss le 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 commentaire
Peter Uwsen
Peter Uwsen le 29 Mar 2019
Ok cool!
Thanks for the quick answers :)

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by