Possibilities of using for end loop in code

4 views (last 30 days)
Zahra
Zahra on 2 Aug 2023
Answered: Chunru on 2 Aug 2023
I want to build an articulated pendulum, let say up to 15 pendulums. Here, I define the first two pendulums as:
x1 = (r1/2)*cos(theta1);
y1 =(r1/2)*sin(theta1);
x2 = (r2/2)*cos(theta2)+ r1*cos(theta1);
y2 = (r2/2)*sin(theta2) + r1*sin(theta1);
y=[x1 0 y1 0 theta1 0 x2 0 y2 0 theta2 0];
but I'm not sure how to write it by using for end loop so that I could build it until 15 pendulums. Also, should there is another way to do it, I would highly appreciated to learn about that. Thanks in advance.
  1 Comment
Dyuman Joshi
Dyuman Joshi on 2 Aug 2023
What are the values of theta1, theta2, .....?
And what is the formula/relation for (xn,yn)?
A better idea will be to put data for each pendulum in a row, so that is easy to access -
out=[x1 0 y1 0 theta1 0;
x2 0 y2 0 theta2 0;
...
xn 0 yn 0 thetan 0];

Sign in to comment.

Answers (1)

Chunru
Chunru on 2 Aug 2023
In MATLAB, you can do it without loop (preferred approach):
theta = [0 10 20 30 50]';
r = [9 8 7 6 3]';
y = [(r/2).*cos(theta), (r/2).*sin(theta), zeros(size(theta))]
y = 5×3
4.5000 0 0 -3.3563 -2.1761 0 1.4283 3.1953 0 0.4628 -2.9641 0 1.4474 -0.3936 0

Categories

Find more on Classical Mechanics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!