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

2 Ansichten (letzte 30 Tage)
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 Kommentare
ASHA RANI
ASHA RANI am 21 Okt. 2017
Bearbeitet: Matt J am 21 Okt. 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 am 21 Okt. 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?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 21 Okt. 2017
Bearbeitet: Matt J am 21 Okt. 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 Kommentare
ASHA RANI
ASHA RANI am 21 Okt. 2017
thank you,sir I am sending my original problem in which I want to plot between v1 and corresponding x. please help it

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Line Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by