Root finder solver for cubic equation
1 view (last 30 days)
Show older comments
Jamie Al
on 8 Mar 2021
Answered: Walter Roberson
on 8 Mar 2021
I have the following cubic equation in beta, knowing gamma, theta and M1 how can I find the roots of beta using MATLAB?
for example, knowing the following:
M1 = 8:3:20;
gamma = 1.4;
theta = 8;
3 Comments
Accepted Answer
Walter Roberson
on 8 Mar 2021
syms M1 gamma theta_degrees tanbeta_degrees
eqn = 1 + (gamma - 1)/2 * M1.^2 * tand(theta_degrees).*tanbeta_degrees.^3 + (1-M1.^2).*tanbeta_degrees.^2 + (1+(gamma+1)/2.*M1.^2);
solbeta = solve(eqn, tanbeta_degrees);
beta_degrees = atand(solbeta)
M1_ = 8:3:20;
gamma_ = 1.4;
theta_degrees_ = 8; %in degrees
beta_values = subs(beta_degrees, {M1, gamma, theta_degrees}, {M1_, gamma_, theta_degrees_})
beta_numeric = double(beta_values)
whos beta_numeric
Here, the different columns correspond to the different M1 values, and the different rows correspond to the different roots of the cubic. Results are in degrees.
0 Comments
More Answers (0)
See Also
Categories
Find more on Gamma Functions 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!