Filter löschen
Filter löschen

Unable to find explicit solution

1 Ansicht (letzte 30 Tage)
Imanol Fernandez de arroyabe Zabala
Bearbeitet: Torsten am 29 Okt. 2022
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]

Antworten (1)

Torsten
Torsten am 29 Okt. 2022
Bearbeitet: Torsten am 29 Okt. 2022
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 = 

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by