Help using subfunction to compute zeros of a function

1 次查看(过去 30 天)
I need help with creating a function with a subfunction to compute the zeros of a problem over a certain interval.
For example: 3x^3 - 12x^2 - 33x + 80 over -10 < x < 10
I want to find the all the zeros for that interval but every function I try it doesn't work. Here's my code so far:
function yzero = findzeros(range)
fun=@testfun;
[yzero,value]=fzero(fun,range);
function fx = testfun(x)
fx=(3.*x.^3)-(12.*x.^2)-(33.*x)+80;
end
end*
This only get it to compute one zero though but I graphed it on my calculator and there are 3 zeros over the interval.
Please Help me with finding a function that works!
  2 个评论
Walter Roberson
Walter Roberson 2012-4-1
Duplicate is at http://www.mathworks.com/matlabcentral/answers/34133-finding-zeros-of-an-equation
Krishant
Krishant 2024-3-11
Use a primary function with a subfunction to compute the zeros of the function 3𝑥 3 − 12𝑥 2 − 33𝑥 + 80 over the range −10 ≤ 𝑥 ≤ 10.

请先登录,再进行评论。

回答(1 个)

Taniadi
Taniadi 2012-4-1
you can use fzero or fsolve to solve the problemm but it is necessary that you change initial guess to get 3 roots.

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by