I want to calculate roots of a polynomial whose coefficients are functions of x where x assume values between an interval

2 views (last 30 days)
Let x =[0:1:10]; polynomial = [ 1 sin(x) x.^3 x]; let v1,v2 and v3 be the three roots of given polynomial in v whose coefficients are functions of x. I want to plot a graph between v1 and x.
  6 Comments
ASHA RANI
ASHA RANI on 21 Oct 2017
Edited: Matt J on 21 Oct 2017
> x = [0:pi/18:pi/6]
x =
0 0.1745 0.3491 0.5236
>> p = [1 sin(x) x.^3 x];
>> r = roots(p)
r =
0.8999 + 0.3217i
0.8999 - 0.3217i
0.6749 + 0.8031i
0.6749 - 0.8031i
0.2643 + 0.9220i
0.2643 - 0.9220i
-0.3081 + 0.8491i
-0.3081 - 0.8491i
-0.8635 + 0.2723i
-0.8635 - 0.2723i
-0.6675 + 0.6335i
-0.6675 - 0.6335i
in this ans of r, which one is represented v1 corresponding to pi/18?
John D'Errico
John D'Errico on 21 Oct 2017
So why did you set x=pi/18?
You were asked to solve this problem for x varying from 0 to 10, NOT just at one value of x.
If the polynomial has three roots, what does v1 versus v2 and v3 mean? Roots need not be provided in any specific order. So how are you supposed to choose v1?

Sign in to comment.

Accepted Answer

Matt J
Matt J on 21 Oct 2017
Edited: Matt J on 21 Oct 2017
You cannot use ROOTS on multiple polynomials at a time. You will have to use a loop over x(i),
for i=1:numel(x)
p =[1 sin(x(i)) x(i).^3 x(i)];
r{i}=roots(p);
%More code...
end
  3 Comments
ASHA RANI
ASHA RANI on 21 Oct 2017
thank you,sir I am sending my original problem in which I want to plot between v1 and corresponding x. please help it

Sign in to comment.

More Answers (0)

Categories

Find more on Polynomials in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!