Possibilities of using for end loop in code

1 view (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 Programming 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!