Fourier series sawtooth wave
26 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuestas (2)
Urmila Rajpurohith
el 15 de Nov. de 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:
0 comentarios
randerss simil
el 16 de Feb. de 2021
Editada: randerss simil
el 16 de Feb. de 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 comentario
randerss simil
el 16 de Feb. de 2021
Editada: randerss simil
el 16 de Feb. de 2021

Try the above , may be you have to adjust values for bp and ip to get accurate sawtooth waves
Ver también
Categorías
Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!