for loop - Programmers Heaven

#### Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

# for loop

Posts: 2Member
Hi

I'm looking for some help with a problem I'm trying to solve and wondered if anyone could help.

I'm trying to calculate the largest possible area of a trapezium whose sides are at a variety of angles and lengths.

I used a for loop to calculate the different values for area with sides varying angle and fixed length. I then used another for loop to calculate values for area with varying side lengths and fixed angle.

It seems to be that the values for area continue to increase even when area should begin to reduce (after the peak value). So I'm basically getting the max area when the sides are at 90 degrees (when the shape is just a rectangle). Any suggestions what I might be doing wrong?

• Posts: 1Member
The way you worded this question is kind of confusing, but from what I gather you have the angles and lengths for a certain number of trapezoids, and you want to know which trapezoid has the largest area. I would create two matrices: one with the angles, and one with the lengths, like so:

A=[theta1,theta2,theta3,theta4;...
theta1,theta2,theta3,theta4;...
theta1,theta2,theta3,theta4];
L=[L1,L2,L3,L4;...
L1,L2,L3,L4;...
L1,L2,L3,L4];

Then, I would make a for loop that finds the area of each trapezoid, places the areas in a vector, and keeps track of the maximum area value, like so:

[r,c]=size(A);
areamax=0;
for i=1:r
area(i)=.5*L(i,1)*sind(A(i,1))*(L(i,2)+L(i,4));
if area(i)>areamax
areamax=area(i);
end
end