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
  댓글 수: 1
I CHUN LIN
I CHUN LIN 2021년 5월 21일
I got it!
Thank you very much!

댓글을 달려면 로그인하십시오.


EmirBeg
EmirBeg 2021년 5월 21일
Try vpasolve();
clear; clc;
syms x
y = 3*x.^2 - 10*x + 1.01;
vpasolve(y == 1, x)
  댓글 수: 1
I CHUN LIN
I CHUN LIN 2021년 5월 21일
That is!
Thank you very much!

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by