Effacer les filtres
Effacer les filtres

How to get the decimal values using solve in MATLAB

9 vues (au cours des 30 derniers jours)
Khoa Nguyen
Khoa Nguyen le 27 Fév 2023
Commenté : Walter Roberson le 27 Fév 2023
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 commentaire
Walter Roberson
Walter Roberson le 27 Fév 2023
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 &

Connectez-vous pour commenter.

Réponses (1)

KSSV
KSSV le 27 Fév 2023
Read about vpasolve, double.
  3 commentaires
Khoa Nguyen
Khoa Nguyen le 27 Fév 2023
Thank you, I use vpa(solution.conditions) and the problem is solved!
KSSV
KSSV le 27 Fév 2023
@Khoa Nguyen thanks is accepting/ voting the answer. :)

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by