
how to play fsolve using for loop
2 views (last 30 days)
Show older comments
Jong Rok Lee
on 13 May 2019
Commented: Daniel Londono Serma
on 28 Apr 2021
i want to solve x1 and x2 about a=0:0.01:2*pi
this is my error code
======================================
clear all; clc
ct=1;l2=2.1; l1=2.5; r=0.7; z=5.5; d=1.2; h=1.8;
for a=0:0.01:2*pi
x(ct)=fsolve(@bicycle,[1,0]);
ct=ct+1;
end
==========================
function F = bicycle(x)
l2=2.1; l1=2.5; r=0.7; z=5.5; d=1.2; h=1.8;
F(1) = l1*sin(x(1))-l2*sin(x(2))-d-r*cos(a);
F(2) = z-l1*cos(x(1))-l2*cos(x(2))-h-r*sin(a);
end
how can i solve x1 and x2?
0 Comments
Accepted Answer
Star Strider
on 13 May 2019
Youi need to pass ‘a’ as a parameter to your ‘bicycle’ function.
Try this:
function F = bicycle(x,a)
l2=2.1; l1=2.5; r=0.7; z=5.5; d=1.2; h=1.8;
F(1) = l1*sin(x(1))-l2*sin(x(2))-d-r*cos(a);
F(2) = z-l1*cos(x(1))-l2*cos(x(2))-h-r*sin(a);
end
l2=2.1; l1=2.5; r=0.7; z=5.5; d=1.2; h=1.8;
a=0:0.01:2*pi;
for ct = 1:numel(a)
x(ct,:)=fsolve(@(x)bicycle(x,a(ct)),[1,0]);
end
figure
plot(a, x)
grid
xlabel('a')
ylabel('Root')
legend('F_1', 'F_2', 'Location','N')
The Plot —

3 Comments
Daniel Londono Serma
on 28 Apr 2021
muchas gracias me sirvio mucho el ejemplo para encontrar todas las posiciones de un mecanismo de 4 barras
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!