# How to find zeros of a function?

557 views (last 30 days)

Show older comments

For instance,

x = -3.55:0.1:3.55;

y = x.^2 - 4;

Obviously, when x=2 or -2, y=0.

But I want to know how to use matlab to find zeros of a function y = f(x) when x is a matrix defined by the user like the above case.

##### 3 Comments

Mark Sherstan
on 17 Dec 2018

Akira Agata
on 17 Dec 2018

### Answers (3)

Walter Roberson
on 17 Dec 2018

x(y==0)

Note that this can miss an indefinite number of zeroes of a function if the x do not happen to sample at the right places . It also will not detect zero crossings between x values . You could make use of the results to get hints about zero crossings .

##### 0 Comments

Wenjie
on 17 Dec 2018

##### 3 Comments

Nico
on 25 Feb 2024

What does the @(x) and the 3 mean? Sorry I'm university student with no experience...

Alexander
on 25 Feb 2024

If it's not a function but meassured data I would go like this in a first try:

x = -3.55:0.0001:3.55; % assuming 10 kHz sample frequency

y = x.^2 - 4;

yS = sign(y);

dyS = diff(yS);

Z=find(dyS ~= 0);

x(Z)

##### 0 Comments

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!