Fourier series sawtooth wave
조회 수: 24 (최근 30일)
이전 댓글 표시
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개)
Urmila Rajpurohith
2019년 11월 15일
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
randerss simil
2021년 2월 16일
편집: randerss simil
2021년 2월 16일
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
randerss simil
2021년 2월 16일
편집: randerss simil
2021년 2월 16일

Try the above , may be you have to adjust values for bp and ip to get accurate sawtooth waves
참고 항목
카테고리
Help Center 및 File Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!