How to get the decimal values using solve in MATLAB

9 visualizaciones (últimos 30 días)
Khoa Nguyen
Khoa Nguyen el 27 de Feb. de 2023
Comentada: Walter Roberson el 27 de Feb. de 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 comentario
Walter Roberson
Walter Roberson el 27 de Feb. de 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 &

Iniciar sesión para comentar.

Respuestas (1)

KSSV
KSSV el 27 de Feb. de 2023
Read about vpasolve, double.
  3 comentarios
Khoa Nguyen
Khoa Nguyen el 27 de Feb. de 2023
Thank you, I use vpa(solution.conditions) and the problem is solved!
KSSV
KSSV el 27 de Feb. de 2023
@Khoa Nguyen thanks is accepting/ voting the answer. :)

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by