Find specific point in unknown "function"

1 回表示 (過去 30 日間)
Peter Uwsen
Peter Uwsen 2019 年 3 月 29 日
コメント済み: Peter Uwsen 2019 年 3 月 29 日
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 件のコメント
KSSV
KSSV 2019 年 3 月 29 日
interp1....
Jan
Jan 2019 年 3 月 29 日
@Torsten: I'd vote for your solution, if it is posted as answer.

サインインしてコメントする。

採用された回答

Alan Weiss
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.
  1 件のコメント
Peter Uwsen
Peter Uwsen 2019 年 3 月 29 日
Ok cool!
Thanks for the quick answers :)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSolver Outputs and Iterative Display についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by