plotting Sum function , with floor term and rectangular pulse

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

Risposta accettata

Ameer Hamza
Ameer Hamza il 21 Apr 2020
Modificato: Ameer Hamza il 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 Commenti

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by