sum of a series

조회 수: 1 (최근 30일)
dav
dav 2013년 3월 18일
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.

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2013년 3월 19일
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

추가 답변 (1개)

Youssef  Khmou
Youssef Khmou 2013년 3월 18일
편집: Youssef Khmou 2013년 3월 18일
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
dav
dav 2013년 3월 19일
I figured it out. Thanks for your time.
Youssef  Khmou
Youssef Khmou 2013년 3월 19일
ok

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Filter Analysis에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by