Здравствуйте.
В лабораторной по вычислительной математике требуется интерполировать функцию. В том числе полиномом Ньютона.
Пишу:
C = [y];
for j=2:16
tmp = [];
for i=1:16
if i > j
ch = C(i)(j-1) - C(i-1)(j-1);
zn = x(i) - x(i-j);
c = ch / zn;
tmp = [tmp; c];
else
tmp = [tmp; 0];
end;
end;
C = [C, tmp];
end;Где:
Y = [25, 27, 25, 26, 22, 23. 23. 20, 20, 21, 27, 24, 28, 27,
25, 27, 28, 30, 32, 34, 32, 33, 33, 28, 29, 19, 18, 21,
23, 22, 28];
X = 0:1:30;
y = [];
for i=1:2:31
y = [y; Y(i)];
end;
x = 0:2:30;
На первый взгляд вроде все правильно, но octave мне выдает следующее:
[console]error: A(I): Index exceeds matrix dimension.[/console]
Что я делаю не так?
Заранее спасибо.