Clear Filters
Clear Filters

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

24 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

Categories

Find more on Polar Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!