Solving equations of static equilibrium for all angles

5 次查看(过去 30 天)
I have a system of equations representing equations of equilibirum. I am trying to solve for all values of an input which satisfy that the result of three equations are simultaneously zero. I have three additional variables which I defined in terms of only alpha (the thing I need to solve). Which method is recommended to solve: loop, solve function, or symbolic tool box? Thank you for your feedback
Defining alpa where start is 270 degrees and converting to radians
deg2rad = pi / 180 ;
alpha = (270:1:630)*deg2rad ;
Variables in terms of things I need to solve for
a_y = 500*cos(alpha) + 600*sin(alpha);
c_x = 300*sin(alpha);
c_y = 800*cos(alpha) - 600*sin(alpha);
Equations that state the necessary conditions for alpha to satisfy
f_x = c_x + 300*sin(alpha) == 0;
f_y = -a_y + c_y - 300*cos(alpha) == 0;
m_c = 0.150*a_y + -75*cos(alpha) + -90*sin(alpha) == 0;

回答(1 个)

SAI SRUJAN
SAI SRUJAN 2023-10-12
Hi Maggie Forest,
I understand that you are trying to figure out an appropriate method to use for obtaining solutions within a specific range by using loops or the “solve” function in MATLAB.
One approach is to employ loops, which involves checking at specific intervals within the range [l, r]. Alternatively, the "solve" function in MATLAB provides the advantage of obtaining solutions within a continuous interval between [l, r].
You can follow the below given example to resolve the issue.
syms z
deg2rad = pi / 180 ;
alpha = (270:1:630)*deg2rad ;
a_y = 500*cos(z) + 600*sin(z);
c_x = 300*sin(z);
c_y = 800*cos(z) - 600*sin(z);
f_x = c_x + 300*sin(z) == 0;
f_y = -a_y + c_y - 300*cos(z) == 0;
m_c = 0.150*a_y + -75*cos(z) + -90*sin(z) == 0;
%mention constraints
symanswer=solve([f_x f_y m_c z>=alpha(1) z<=alpha(end)],z)
You can refer to the below documentation to understand more about “solve” in MATLAB

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by