How to plot this square signal without sum?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Armin
el 7 de Jul. de 2023
Editada: Angelo Yeo
el 7 de Jul. de 2023
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1428593/image.png)
3 comentarios
Angelo Yeo
el 7 de Jul. de 2023
Editada: Angelo Yeo
el 7 de Jul. de 2023
I have already responded in the reddit post below.
https://www.reddit.com/r/matlab/comments/14sxpg2/how_to_plot_this_square_signal_without_sum/
Respuesta aceptada
N A POORNA CHANDRA
el 7 de Jul. de 2023
hi Armin, here is the code to plot this square signal without sum
t = -0.5:0.001:0.5; % Time vector
f = zeros(size(t)); % Initialize the signal
for n = 1:2:10 % Iterate over odd values of n
f = f + (1/n) * sin(2*pi*n*t);
end
f = (4/pi) * f; % Scale the signal
plot(t, f);
xlabel('t');
ylabel('f(t)');
title('Square Signal');
grid on;
0 comentarios
Más respuestas (1)
Swapnil Tatiya
el 7 de Jul. de 2023
You could use the heaviside function of the symbolic variable toolbox,I'm attaching a link for your reference:
The link to syms is:
The link to subs is:
The following code snippet shows how you could use the above function:
% t1 and t2 are the limits as specified in the question
t2=0.5;
t1=-0.5;
%domain is kept a little wider so that the signal can be analysed with a
%little more ease
domain=t1-1:0.01:t2+1;
%syms is used to generate a symbolic variable,refer to the above link for any
%clarifications
syms t;
signal=heaviside(t+t2)-heaviside(t+t1);
%subs is used to substitute range of values into symbolic variables
y=subs(signal,t,domain);
plot(domain,y)
xlim([-2 2])
ylim([-1 2])
grid on
The output to the above code is the following:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1428728/image.png)
Hope this helps!
0 comentarios
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!