MATLAB: How get the maximal positive root of polynomial

polynomialroots

I have such a function which computes positive roots of 8th order polynomial.
function res = lambdazero1( l, a )
p = [-2 * l^4, 0, l^4 * (3 * a^2 - 2 * l^2 + 3), 0, 0, 0, l^2 * ( l^2 -3 * a^2 + a^6 * ( l^2-3 ) ), 0, 2 * a^6];
sol = roots(p);
res = sol(imag(sol) == 0 & sol > 0);
end
It turns out that for some values of "l" and "a" it has several positive roots. Any idea how to get the maximal positive root?
Many thanks in advance.

Best Answer

Add
res = max(res)
in your code from above.
Best wishes
Torsten.