Find specific point in unknown "function"

2 vues (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)

Catégories

En savoir plus sur Optimization dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by