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

26 vues (au cours des 30 derniers jours)
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

Réponse acceptée

Walter Roberson
Walter Roberson le 25 Nov 2013
sides = input('har mycket sides?');
step = 360/sides;
  4 commentaires
John BG
John BG le 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
Shyam Agarwal
Shyam Agarwal le 19 Jan 2021
How can we change the length of polygon

Connectez-vous pour commenter.

Plus de réponses (1)

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

Catégories

En savoir plus sur Lighting, Transparency, and Shading dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by