Effacer les filtres
Effacer les filtres

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

4 vues (au cours des 30 derniers jours)
Luccas S.
Luccas S. le 18 Avr 2021
Commenté : Walter Roberson le 18 Avr 2021
Equation for f(x)
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 commentaires
KALYAN ACHARJYA
KALYAN ACHARJYA le 18 Avr 2021
I didnot find any output using your loop code also.
Luccas S.
Luccas S. le 18 Avr 2021
Modifié(e) : Luccas S. le 18 Avr 2021
I ended up not transcribing k = k +1 for publication, now i have changed.

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 18 Avr 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 commentaires
Luccas S.
Luccas S. le 18 Avr 2021
Right, I am running the code in octave but it is not working in matlab. (Matrix dimensions must agree.)
Walter Roberson
Walter Roberson le 18 Avr 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)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Graphics Performance dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by