Show older comments
how to find a roots of a cubic equation in matlab?
Answers (1)
Andrei Bobrov
on 25 Feb 2012
eg
use roots
%polynomial x^3-6*x^2-50*x-4
p = [1 -6 -50 -4]
out = roots(p)
use solve and Symbolic Math Toolbox
syms x
out2 = solve(x^3-6*x^2-50*x-4)
vpa(out2,6)
on Nasir comment
out = zeros(3,...);
for j1 = 1:....
B = ...
A = ...
out(:,j1) = roots([1, B-1, A-3*B^2, A*B-B^2-B^3]);
end
5 Comments
Nasir Qazi
on 25 Feb 2012
Walter Roberson
on 25 Feb 2012
Careful, there would be three roots for each cubic, so you would not be able to store the output of roots() in to a single array location out(j1)
Andrei Bobrov
on 25 Feb 2012
Thank you Walter! Corrected.
Nasir Qazi
on 27 Feb 2012
Walter Roberson
on 27 Feb 2012
I think we would need to see the code.
Categories
Find more on Symbolic Math Toolbox 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!