2013-04-14 4 views
0

이 유형의 질문은 전에 많은 질문을 받았지만 내 코드의 문제를 이해할 수는 없습니다. 또한 저는 옥타브에서 절대 초보자입니다.첨자 인덱스는 양의 정수 또는 논리 여야합니다.

function Z=nat_spline(n, T, Y) 
    for i=0:n-1 
    H(i) = T(i+1) - T(i); 
    B(i) = 6*(Y(i+1) - Y(i))/H(i); 
    end 
    U(1) = 2*(H(0)+H(1)); 
    V(1) = B(1) - B(0); 
    for i=2:n-1 
    U(i) = 2 * (H(i) + H(i-1)) - ((H(i-1))^2/U(i-1)); 
    V(i) = B(i) - B(i-1) - H(i-1)*V(i-1)/U(i-1); 
    end 
    Z(n) = 0 
    for i=n-1:1 
    Z(i) = (V(i)-H(i)*Z(i+1))/U(i); 
    end 
    Z(0) = 0; 
end 

짧은 코드이므로 실수를 쉽게 발견 할 수 있습니다. 어떤 도움을 주셔서 감사합니다. 어레이

+0

가능한 중복 [아래 첨자 인덱스는 실수 양수 또는 논리, 일반 솔루션이어야합니다] (http://stackoverflow.com/questions)/20054047/subscript-indices-must-be-real-positive-integers-or-logicals-generic-sol) –

답변

3

인덱스 매트랩 1 시작 :) 하여 H (i) 및 B (i)는 H (0) B (0) 루프의 첫 번째 반복과 그에게 에러를 제공 할 것이다 그래서 for i=1:n

+0

오 와우. 그래도 고마워 – user44273

0

음, 제목은 논리적이지 않습니까? 첨자는 반드시 양의 정수 값이어야합니다. H(0) 또는 Z(0)과 같은 것은 작동하지 않습니다. 엄격하게 양의 정수 값이 1로 시작하기 때문에 작동하지 않습니다.