如何在给定的时间间隔内找到多项式的根

时间:2015-11-28 22:47:17

标签: scilab polynomials

我想编写一个带有多项式(p)和范围(a,b)的函数,它给出了该范围内多项式的根数。但我不知道如何在函数中设置范围。

x=poly(0,"x")
a = 0;
b = 5;
p=-6+11*x-6*x^2+x^3

function [n_roots] = numroots (p,a,b)
    rootn = roots(p)
//todo
    n_roots = length(rootn)
endfunction

下一步将在图表中表示多项式和根。

1 个答案:

答案 0 :(得分:1)

也许你应该在计算根之后选择哪个根在范围内。请注意,如果要将它们分类到范围内,则根应该是实数。

function [n_roots] = numroots(p,a,b)
    rootn = roots(p)
    rootn = rootn(find(real(rootn) > a & real(rootn) < b))
    n_roots = length(rootn)
endfunction