Find specific point in unknown "function"
1 次查看(过去 30 天)
显示 更早的评论
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](https://www.mathworks.com/matlabcentral/answers/uploaded_files/211033/function.jpeg)
3 个评论
采纳的回答
Alan Weiss
2019-3-29
编辑:Alan Weiss
2019-3-29
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.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!