Effacer les filtres
Effacer les filtres

Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

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

1 vue (au cours des 30 derniers jours)
Michael Clopton
Michael Clopton le 21 Mai 2020
Clôturé : MATLAB Answer Bot le 20 Août 2021
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 commentaires
dpb
dpb le 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...

Réponses (1)

Monalisa Pal
Monalisa Pal le 22 Juin 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

Cette question est clôturée.

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by