plotting Sum function , with floor term and rectangular pulse

2 Ansichten (letzte 30 Tage)
Hey,
Is there a way to plot this function in Matlab?
y(t) =
while is the function : , and u is the Heaviside function.

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 21 Apr. 2020
Bearbeitet: Ameer Hamza am 21 Apr. 2020
try this
syms t n
chi = heaviside(t-n) - heaviside(t-2-n);
term = (-1)^n*floor((n+2)/2).*chi;
y = symsum(term, n, 0, inf);
t_vec = linspace(0, 10, 100);
y_vec = vpa(subs(y, t, t_vec));
plot(t_vec, y_vec, '-o')
A faster alternative:
chi = @(t, n) heaviside(t-n) - heaviside(t-2-n);
term = @(t, n) (-1).^n.*floor((n+2)/2).*chi(t,n);
y = @(t) sum(term(t, 0:ceil(t+1)));
t_vec = linspace(0, 10, 100);
y_vec = zeros(size(t_vec));
for i=1:numel(t_vec)
y_vec(i) = y(t_vec(i));
end
plot(t_vec, y_vec, '-o')
  3 Kommentare

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by