How can i plot a hexagon, a triangle, a pentagon, an octagon and a circle.

23 views (last 30 days)
What are the changes i need to make to this code to get a triangle, a pentagon, an octagon and a circle
% close all the open figure windows
close all
% create array containing 361 equally spaced points btw 0 and 2*pi
degrees = linspace(0, 2*pi, 361);
% store in the array 'c' cosine of all the values in the array 'degrees'
c = cos(degrees);
% store in the array 's' sine of all the values in the array 'degrees'
s = sin(degrees);
% calculate appropriate step size for plotting a hexagon
step = 360/6;
%plot the polygon
plot(c(1:step:361), s(1:step:361))
%set equal aspect ratio for all the axis
axis equal

Accepted Answer

Walter Roberson
Walter Roberson on 25 Nov 2013
sides = input('har mycket sides?');
step = 360/sides;
  4 Comments
John BG
John BG on 29 Mar 2016
the commands sind and cosd take degrees directly:
sides=6
deg=[0:1:361]
c=cosd(deg)
s=sind(deg)
step=360/sides
plot(c(1:step:361),s(1:step:361));axis equal

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 3 Jan 2022
@Shyam Agarwal, try nsidedpoly():
pgon1 = nsidedpoly(6);
pgon2 = nsidedpoly(6,'Center',[5 0],'SideLength',3);
plot([pgon1 pgon2])
axis equal

Tags

Community Treasure Hunt

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

Start Hunting!