How to get the decimal values using solve in MATLAB

조회 수: 9 (최근 30일)
Khoa Nguyen
Khoa Nguyen 2023년 2월 27일
댓글: Walter Roberson 2023년 2월 27일
So I am using solve in MATLAB to solve an inequation in MATLAB, to find the syms trough_rot_speed, here are the code
syms trough_rot_speed;
assume(trough_rot_speed,'positive')
A_equation = (sind(Alpha_deg-Beta_deg)/cosd(Beta_deg))*((a*trough_rot_speed^2)/9.8);
solution = solve( sqrt(pi^2+1)> A_equation> 1.15,trough_rot_speed,'ReturnConditions', true);
All the values are known except trough_rot_speed, I access the results by the following code
solution.conditions
But I get the value in fraction, like this:
How do I get it in decimal values, for example: x < 203.442....
  댓글 수: 1
Walter Roberson
Walter Roberson 2023년 2월 27일
solution = solve( sqrt(pi^2+1)> A_equation> 1.15,trough_rot_speed,'ReturnConditions', true);
Chaining relative comparisons does not work for numeric values, and does not work reliably for solve(). The only place it works reliably is piecewise(). You should rewrite as two conditions joined with &

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

답변 (1개)

KSSV
KSSV 2023년 2월 27일
Read about vpasolve, double.
  댓글 수: 3
Khoa Nguyen
Khoa Nguyen 2023년 2월 27일
Thank you, I use vpa(solution.conditions) and the problem is solved!
KSSV
KSSV 2023년 2월 27일
@Khoa Nguyen thanks is accepting/ voting the answer. :)

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

카테고리

Help CenterFile Exchange에서 Assumptions에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by