Simplified solution to system of algebraic equations

1 次查看(过去 30 天)
The following code solves the system of equations for x, but the solution could be further simplified, for example, by factoring N from the numerator. Can I modify the code so the solution is simplified?
syms a b x N g b L m
eqns = [(1/b)*(-2*N*sin(a))/3==m*L, x/b==-(5*L*cos(a))/6+(5*a^2*L*sin(a))/6, N/b==m*(5*L*sin(a))/6+(5*a^2*L)/(6*cos(a) +3*g)];
S = solve(eqns,[b m x]);
sol = [S.x]

采纳的回答

Ameer Hamza
Ameer Hamza 2020-4-1
Try this
syms a b x N g b L m
eqns = [(1/b)*(-2*N*sin(a))/3==m*L, x/b==-(5*L*cos(a))/6+(5*a^2*L*sin(a))/6, N/b==m*(5*L*sin(a))/6+(5*a^2*L)/(6*cos(a) +3*g)];
S = solve(eqns,[b m x]);
sol = S.x
sol_simplified = simplify(S.x)
Result:
sol =
-(18*N*cos(a)^2 + 10*N*cos(a)^2*sin(a)^2 + 9*N*g*cos(a) - 18*N*a^2*cos(a)*sin(a) - 5*N*a^2*g*sin(a)^3 + 5*N*g*cos(a)*sin(a)^2 - 10*N*a^2*cos(a)*sin(a)^3 - 9*N*a^2*g*sin(a))/(18*a^2)
sol_simplified =
(N*(cos(a) - a^2*sin(a))*(5*cos(a)^2 - 14)*(g + 2*cos(a)))/(18*a^2)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Numerical Integration and Differential Equations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by