How to expand the solve answer?

5 次查看(过去 30 天)
I CHUN LIN
I CHUN LIN 2021-5-21
评论: I CHUN LIN 2021-5-21
Hi,
when I run the code
clear; clc;
syms x
y = 3*x.^2 - 10*x + 1.01;
solve(y == 1, x)
this give me the answer
5/3 - 2497^(1/2)/30
2497^(1/2)/30 + 5/3
How can I expand these to
0.0010
3.3323
Thank you very much!

回答(2 个)

John D'Errico
John D'Errico 2021-5-21
You want to convert them to floating point numbers.
syms x
y = 3*x.^2 - 10*x + 1.01;
xsol = solve(y == 1, x);
vpa(xsol) % produces a floating point symbolic number, so many digits
ans = 
double(xsol) % produces a double precision version
ans = 2×1
0.0010 3.3323

EmirBeg
EmirBeg 2021-5-21
Try vpasolve();
clear; clc;
syms x
y = 3*x.^2 - 10*x + 1.01;
vpasolve(y == 1, x)

Community Treasure Hunt

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

Start Hunting!

Translated by