Filter löschen
Filter löschen

sum of a series

3 Ansichten (letzte 30 Tage)
dav
dav am 18 Mär. 2013
Hi,
Can someone please help me to write the following code using a summation
for i = 1:1000
v(i) =y(i) - a0- a1*y(i-1)-a2*y(i-2);
end
Thanks.

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 19 Mär. 2013
a0=1;
a1=2;
a2=1;
y=rand(1,1000) % your data
coeff=[-a2 -a1 1];
for ii = 3:1000
v(ii) =sum(y(ii-2:ii).* coeff)-a0;
end

Weitere Antworten (1)

Youssef  Khmou
Youssef Khmou am 18 Mär. 2013
Bearbeitet: Youssef Khmou am 18 Mär. 2013
hi, what is Y[nT]? random variable?
N=1000;
a0=2.36;
a1=4.56;
a2=5.57;
y=randn(N,1);
v=zeros(N,1);
v(1:2)=y(1:2); % Optional, take is as initial condition
% Using Loops
for n=3:N
v(n)=y(n)-a0-(a1*y(n-1))-(a2*y(n-2));
end
figure, plot(y), hold on, plot(v,'r'), hold off
% Vectorization
Y1=zeros(size(y));
Y1(2:end)=y(1:end-1);
Y2=zeros(size(y));
Y2(3:end)=y(1:end-2);
V=y-a0-a1*Y1-a2*Y2;
% Comparaison
figure, plot(v), hold , plot(V,'r'), hold off
  5 Kommentare
dav
dav am 19 Mär. 2013
I figured it out. Thanks for your time.
Youssef  Khmou
Youssef Khmou am 19 Mär. 2013
ok

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by