How can I plot sin(x),sin(2x),...,sin(nx) for an input n all on the same graph? Matrix dimensions must agree error
    7 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Colm Murphy
 le 23 Oct 2019
  
    
    
    
    
    Réponse apportée : Navadeep Ganesh U
      
 le 30 Nov 2019
            I'm trying to plot sin(x) and sin(2x) and 3x and so on up to sin(nx) all on the same graph. My code right now is as follows.
x=[-2*pi:pi/64:2*pi];
i = input('Enter a positive whole number: \n');
z=[1:i];
y=sin(x.*z);
for z = [1:i]
    plot(x,y);
end
It's giving me an error saying: 
Matrix dimensions must agree.
Error in lab5_exercise2 (line 9)
y=sin(x.*z);
0 commentaires
Réponse acceptée
  Image Analyst
      
      
 le 23 Oct 2019
        Put the y= statement inside the loop:
x = -2*pi : pi/64 : 2*pi;
n = input('Enter a positive whole number: ');
for z = 1 : n
	y = sin(x.*z);
	plot(x,y, '.-');
	hold on;
end
grid on;
xlabel('x', 'FontSize', 15);
ylabel('Y', 'FontSize', 15);
Plus de réponses (2)
  James Tursa
      
      
 le 24 Oct 2019
        Modifying your original code without a loop:
x=[-2*pi:pi/64:2*pi];
i = input('Enter a positive whole number: \n');
z=[1:i]'; % make this a column vector
y=sin(x.*z); % use implicit expansion
plot(x,y); % no need for a loop
grid on
0 commentaires
Voir également
Catégories
				En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
			
	Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



