Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Solution 227163

Submitted on 4 Apr 2013 by @bmtran

Correct

19Size
Leading solution size is 16.
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test
Code Input and Output
1
Pass
 
%% Test case 1: Square
xy=[0,0;
    1,0;
    1,1;
    0,1;
    0,0];
err=(abs(perimeter1(xy)-4)/(4))*100;
assert(err<.1)

                    
2
Pass
 
%% Test case 2 : Circle
t=[0:pi/100:2*pi,0]';
xy=[cos(t),sin(t)];
err=(abs(perimeter1(xy)-2*pi)/(2*pi))*100;
assert(err<.1)

                    
3
Pass
 
%% Test case 4 : Half-circle
t=[0:pi/100:pi,0]';
xy=[cos(t),sin(t)];
err=(abs(perimeter1(xy)-(pi+2))/(2+pi))*100;
assert(err<.1)

                    
4
Pass
 
%% Test case 4 : Hexagon
side=rand;
x=side*[-1 -0.5 0.5 1 0.5 -0.5 -1];
y=side*sqrt(3)*[0 -0.5 -0.5 0 0.5 0.5 0];
xy=[x',y'];
err=(abs(perimeter1(xy)-(6*side))/(6*side))*100;
assert(err<.1)