Find zeros of numeric function
34 次查看(过去 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 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Subplots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!