Borrar filtros
Borrar filtros

How to find roots of a polynomial with fractional orders?

15 visualizaciones (últimos 30 días)
Bilal
Bilal el 28 de Dic. de 2013
Respondida: bahar beladi el 9 de Feb. de 2017
I want to find the roots of the following fractional order polynomial:
P=s^2.1+2*s^1.2+1;
Using the solve() function (solve(s^2.1+2*s^1.2+1)), Matlab finds some roots but how does Matlab compute them? Whats the algorithm?

Respuesta aceptada

Roger Stafford
Roger Stafford el 28 de Dic. de 2013
Editada: Roger Stafford el 28 de Dic. de 2013
I don't know how 'solve' does it, but here's how I would proceed. Define the variable t = s^(3/10). Then your equation can be rewritten as
t^7+2*t^4+1 = 0
which will have seven roots, (allowing complex numbers.) For each of these, the equation
s^3-t^10 = 0
should have three roots for s, making a total of 21 possible roots, though there could be duplications among them.
  5 comentarios
Walter Roberson
Walter Roberson el 28 de Dic. de 2013
solve(s^(sym(21)/sym(10))==1)
will lead to all the roots, but solve(s^(21/10)==1) will only lead to 1.
Roger Stafford
Roger Stafford el 29 de Dic. de 2013
To expound at greater length on my statement yesterday as to the possible ways of evaluating, say, s^(12/10), suppose s is equal to -1. Then s^(1/10) can be any one of the ten values, exp(i*k*pi/10), for k = 1,3,5,...,19, and hence s^(12/10) = (s^(1/10))^12 can be any one of the five values, exp(i*k*pi/5), for k = 0,2,4,6,8.

Iniciar sesión para comentar.

Más respuestas (1)

bahar beladi
bahar beladi el 9 de Feb. de 2017
i have problem with this too:(

Categorías

Más información sobre Polynomials en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by