2010-05-16 4 views
-1
B=[1 1 1 1 1 1....1] % vector of length N elements 

Xk= sin(2*pi/16) 

두 변수 l 및 k와 알파 (l, 0) = alpha (l, -1) = 1을 갖는 함수 alpha (l, k) 알파 (L, -2) ... = 알파 (L, - (N-1)) = 0, 즉 상관없이 과거에 대한 어떤 리터의 값, 알파 = 0MATLAB에서 재귀 함수의 요약

A= input('no of iterations'); % no. of iterations user want 
N=input('N values of alpha:') 
alpha1=[]; 

for k=0:A-1 

l=0:N-1 % need 10 separate alpha values for every k, which goes from 0 to A-1 

alpha(l,k)= Xk + summation(B(j)*alpha(l,k-j)) % as summation goes from j=1 to N 


alpha1=[alpha1 alpha] 

end; 

수 사람을 가치없는 제발이 재귀 함수를 해결하는 데 도움이, 내가 matlab에 새로운입니다.

알파

+0

내가 din't을 알파가 정의 된 방법을 얻으십시오. k <0에 대해 alpha (l, k) = 0이라고 정의하는 것은 그것을 정의하기에 충분하지 않습니다. – Artefacto

+0

k <0이 아닌 경우 ... 합계 부분에서 k = 2 및 j = 3과 같아서 이러한 경우에 대해 alpha (l, kj) = 0 또는 – lucky

+0

또는 u는 alpha (l, kj) = (kj) <= 0에 대해 0 – lucky

답변

1

기본적으로 내가 대답은 다음과 같아야 질문 읽을 때 : 당신이 함수에서 선언을 추가해야 물론

function x=alpha(l,k) 
if k<=0 
    x=0; 
    return 
else 
    % from your code 
    x = Xk + summation(B(j)*alpha(l,k-j)) % as summation goes from j=1 to N 
end 

...