How to generate a sawtooth wave
Mostrar comentarios más antiguos
I get the graph i want.But the amplitude is from -10 to 10. Can i know how can i change it to 0 to 10 and keep the same graph?
Here is what i tried so far: T=2*4; Fs=1000; dt = 1/Fs; t = 0:dt:T-dt; x =-10*sawtooth(2*pi*t);
plot(t,x) grid on
Respuesta aceptada
Más respuestas (3)
Boris Adum
el 12 de Jun. de 2021
You can also write a function that would generate that wave. If you name your amplitude A, and the width of one tooth W then you can write two functions.
- If you want the function to go from 0 to A
%define amplitude
A = 10; %set your own value
%define width of one tooth
W=5; %set your own value
syms x y;
y=A/W*(x-(W*fix(x/W)))
%plot the function over an interval
fplot(y,[0,3*W]) %set your own limits for ploting
- If you want the function to go from -A to A
clear %clear old variables if needed
A=10; %amplitude limits of the sawtooth wave -A to A
W=5; %witdh/step of the sawtooth wave
syms x y;
y=((2*A)/W)*(x-(fix(x/W)*W))-A
fplot(y,[0,5*W]) %Plots five teeth
Sohan Das
el 18 de Nov. de 2021
0 votos
T=2*4;
Fs=1000;
dt = 1/Fs;
t = 0:dt:T-dt;
x = sawtooth(2*pi*t); % <— REMOVE THE ‘-10’ HERE
x = (x + 1)*5; % <— ADD THIS LINE
plot(t,x)
grid on
Sohan Das
el 18 de Nov. de 2021
0 votos
T=2*4;
Fs=1000;
dt = 1/Fs;
t = 0:dt:T-dt;
x = sawtooth(2*pi*t);
x = (x + 1)*5;
plot(t,x)
grid on
Categorías
Más información sobre Simulink en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!