Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

Need help writing an if statement to change a plots name based on the data plotted

1 Ansicht (letzte 30 Tage)
The code I have so far is as follows it creates a graph that is a polygon and sides are determined based on user input.
function quiz31(~)
sides = input('input the number of sides you want;, ');
if sides <= 0
sides = sides *-1;
disp('only positive numbers allowed')
end
if sides == 5
title('Pentagon')
elseif sides == 3
title('Triangle')
elseif sides == 6
title('Hexagon')
else side == 4;
title('square')
end
degrees=2*pi/sides;
theta=0:degrees:2*pi;
radius=ones(1,numel(theta));
polarplot(theta,radius)
end
  2 Kommentare
dpb
dpb am 21 Mai 2020
  1. Your first clause/error test will still pass thru a zero number of sides
  2. So you set a title; what you're missing is that you need to save the name to a variable in the logic and then add the title after you plot the graph...

Antworten (1)

Monalisa Pal
Monalisa Pal am 22 Jun. 2020
Are you looking for something like this?
function quiz31(~)
sides = input('input the number of sides you want;, ');
if sides <= 0
%sides = sides *-1;
%disp('only positive numbers allowed')
error('only positive numbers allowed');
elseif (sides ~= 5) && (sides ~= 3) && (sides ~= 6) && (sides ~=4)
error('only 2, 3, 5 or 6 sides are allowed');
end
if sides == 5
%title('Pentagon')
str = 'Pentagon';
elseif sides == 3
%title('Triangle')
str = 'Triangle';
elseif sides == 6
%title('Hexagon')
str = 'Hexagon';
elseif sides == 4
%title('square')
str = 'square';
end
degrees=2*pi/sides;
theta=0:degrees:2*pi;
radius=ones(1,numel(theta));
polarplot(theta,radius);
title(str);
end

Diese Frage ist geschlossen.

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by