# I need to plot the same graphic of the image, but without any loop.

1 view (last 30 days)
luccas santos on 18 Apr 2021
Commented: Walter Roberson on 18 Apr 2021
With loop i get this:
clear
clc
x = -5*pi:pi/100:5*pi;
k = 0;
y = zeros(size(x));
for k = 0:100
k = k + 1;
y = y + 2*( ( (-(-1).^k) / k ) .* sin(x*k) );
end
plot(x, y)
ylabel('f(X)')
xlabel('X')
grid
I tried to do this without loop but i getting errors.
clear
clc
x = -5*pi:pi/100:5*pi;
k = 0:1:100;
y = zeros(size(x));
% How to variable k ?
y = y + 2.*( ( (-(-1).^k) / k ) .* sin(x*k) );
sum(x)
sum(y)
plot(x,y)
##### 2 CommentsShowHide 1 older comment
luccas santos on 18 Apr 2021
I ended up not transcribing k = k +1 for publication, now i have changed.

Walter Roberson on 18 Apr 2021
x = -5*pi:pi/100:5*pi;
k = (1:1:100).'; %not 0!
y = sum(2.*( ( (-(-1).^k)./ k ) .* sin(x.*k) ));
plot(x,y)
##### 2 CommentsShowHide 1 older comment
Walter Roberson on 18 Apr 2021
The above code works in R2016b and later.
Octave is not a programming language that I know.
xvals = -5*pi:pi/100:5*pi;
kvals = (1:1:100).'; %not 0!
[x, k] = meshgrid(xvals, kvals);
y = sum(2.*( ( (-(-1).^k)./ k ) .* sin(x.*k) ));
plot(x,y)