Unable to find explicit solution

조회 수: 2 (최근 30일)
Imanol Fernandez de arroyabe Zabala
편집: Torsten 2022년 10월 29일
How can I solve this issue? I have to keep the anwers in terms of R L and d, so I can't turn those into numerical values.
syms R L d
R = R;
L = L;
d = L/2;
syms x y fi teta beta gama
eq(1) = -L*cosd(teta) + x == 0;
eq(2) = -L*sind(teta) - L/2 + y == 0;
eq(3) = -0.5*L*cosd(teta)+d*cosd(fi) == 0;
eq(4) = -0.5*L*sind(teta) - d*sind(fi) + y == 0;
eq(5) = sind(gama) == (0.5*d)/R;
eq(6) = fi + gama + beta == 90;
sol = solve(eq,[x y fi teta beta gama])
Warning: Unable to find explicit solution. For options, see help.
sol = struct with fields:
x: [0×1 sym] y: [0×1 sym] fi: [0×1 sym] teta: [0×1 sym] beta: [0×1 sym] gama: [0×1 sym]

답변 (1개)

Torsten
Torsten 2022년 10월 29일
편집: Torsten 2022년 10월 29일
syms d L R x y phi theta
assume (L,'positive')
eq(1) = -L*cos(theta) + x == 0;
eq(2) = -L*sin(theta) - L/2 + y == 0;
eq(3) = -0.5*L*cos(theta) + d*cos(phi) == 0;
eq(4) = -0.5*L*sin(theta) - d*sin(phi) + y == 0;
S = solve([eq(1),eq(2),eq(3),eq(4)],[x y phi theta])
S = struct with fields:
x: [2×1 sym] y: [2×1 sym] phi: [2×1 sym] theta: [2×1 sym]
x = simplify(subs(S.x,d,L/2))
x = 
y = simplify(subs(S.y,d,L/2))
y = 
phi = simplify(subs(S.phi,d,L/2))
phi = 
theta = simplify(subs(S.theta,d,L/2))
theta = 
gamma = asin(L/(4*R))
gamma = 
beta = pi/2 - phi - gamma
beta = 

카테고리

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

태그

Community Treasure Hunt

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

Start Hunting!

Translated by