2015-11-28 3 views
0

Я хочу написать функцию со входами многочлена (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

Возможно, вам следует выбрать, какие корни находятся в диапазоне после вычисления корней. Обратите внимание, что корни должны быть действительными числами, если вы хотите классифицировать их в диапазоне.

function [n_roots] = numroots(p,a,b) 
    rootn = roots(p) 
    rootn = rootn(find(real(rootn) > a & real(rootn) < b)) 
    n_roots = length(rootn) 
endfunction 
Смежные вопросы