I need to plot the same graphic of the image, but without any loop.
    5 views (last 30 days)
  
       Show older comments
    
    Luccas S.
 on 18 Apr 2021
  
    
    
    
    
    Commented: Walter Roberson
      
      
 on 18 Apr 2021
            
.jpeg) 
 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 Comments
Accepted Answer
  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 Comments
  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)
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


