Find zeros of numeric function
20 ビュー (過去 30 日間)
古いコメントを表示
Hi all,
I have a numeric function which for the sake of simplicity resembles the following:
x = linspace(1:100) ;
y = sin(x) ;
I would like to know if there is a function in matlab where it returns the zeros of the above (presumably based on the sign change of adjacent elements).
KR,
KMT.
EDIT: The function as I say above is numeric, hence cannot be analitically expressed (i.e. sin cosing or whatever) as it is shown in my example. I used the above example just to create to numeric vectors.
0 件のコメント
採用された回答
ME
2019 年 11 月 29 日
You could use fzero for this. Only issue is that it returns the zero closest to a chosen start point, therefore I've put a loop in to find multiple zeros. Maybe somebody could show a more elegant way?
fun = @sin;
x=linspace(1,100);
for i=1:numel(x)
x0(i)=fzero(fun,x(i));
end
x0=unique(x0)
2 件のコメント
ME
2019 年 11 月 29 日
Well then you could look at the below if you essentially just want to find the sign changes
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!