How can I plot sin(x),sin(2x),...,sin(nx) for an input n all on the same graph? Matrix dimensions must agree error
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Colm Murphy
el 23 de Oct. de 2019
Respondida: Navadeep Ganesh U
el 30 de Nov. de 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 comentarios
Respuesta aceptada
Image Analyst
el 23 de Oct. de 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);
Más respuestas (2)
James Tursa
el 24 de Oct. de 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 comentarios
Ver también
Categorías
Más información sobre Surface and Mesh Plots en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!