Fourier series sawtooth wave

31 vues (au cours des 30 derniers jours)
Paul Velasco
Paul Velasco le 13 Nov 2019
Modifié(e) : randerss simil le 16 Fév 2021
Im trying to create a sawtooth wave but the code i have gives me a square wave. Not sure what i need to change, maybe my values for ap and bp? Sorry im not very good at matlab. Thanks in advance.
T=input('what is the period');
p=input('how many coefficients');
t=linspace(0,3*T,100);
N=10;
bp=sin(80)/320 - cos(80)/4;
ap=sin(80)/4 - sin(40)^2/160;
sum=0;
for p=1:N
Sum=(Sum+(N*ap*cos(2*pi*p*t/T))+(N*bp*sin(2*pi*p*t/T)));
end
F=Sum;
figure(1);
plot(t,F);
  2 commentaires
Walter Roberson
Walter Roberson le 13 Nov 2019
Paul Velasco
Paul Velasco le 13 Nov 2019
These are the equations i have, they dont give me a sawtooth graph
syms t T p
T=input('what is the period');
p=input('how many coefficients');
y=10;
f=t/(2*T);
global ap bp
ap=(2/T).*int((f.*cos(p*2*pi*t/T)),t,0,T);
bp=(2/T).*int((f.*sin(p*2*pi*t/T)),t,0,T);

Connectez-vous pour commenter.

Réponses (2)

Urmila Rajpurohith
Urmila Rajpurohith le 15 Nov 2019
You can use “sawtooth” function in MATLAB to create a sawtooth wave.
You can refer to below documentation for more information on “sawtooth” function.
you can also have a look at the similar question:

randerss simil
randerss simil le 16 Fév 2021
Modifié(e) : randerss simil le 16 Fév 2021
T=input('what is the period');
p=input('how many coefficients');
t=linspace(0,3*T,100);
N=10;
bp=sin(90)/90 - cos(0);
ap=sin(90) - sin(45)^2/90;
xsum=0; % avoid standard matlab functions e.g. sum
for p=1:N
xsum=(xsum+(N*ap*cos(2*pi*p.*t/T))+(N*bp*sin(2*pi*p.*t/T))); % use dot for indexing element wise multiplication
end
F=xsum;
figure(1);
plot(t,F);
  1 commentaire
randerss simil
randerss simil le 16 Fév 2021
Modifié(e) : randerss simil le 16 Fév 2021
Try the above , may be you have to adjust values for bp and ip to get accurate sawtooth waves

Connectez-vous pour commenter.

Catégories

En savoir plus sur Programming 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