Передача функции в качестве аргумента в Matlab
Я только начал программировать, и у меня были некоторые проблемы с передачей функции в качестве аргументов с использованием MATLAB. Я должен реализовать алгоритм Лагранжа для интерполяции.
C1
а также C2
векторы, которые представляют точки для интерполяции координат.
Моя главная проблема в том, что я не знаю, как объяснить в моем f1
определение того, что temp1
а также temp2
не переменные, а значения, определенные на каждой итерации for
петля (для i
а также j
).
Я думаю, что оставшаяся часть кода может быть почти правильной.
function [ ] = lagrange(C1, C2)
n = length(C1);
f2 = inline('');
g = inline('');
for i = 1:n
temp0 = C2(i);
temp1 = C1(i);
for j = 1:n
if (i~=j)
temp2 = C1(j);
temp3 = C2(j);
f1 = inline('(x-temp2/(temp1-temp2)','x','temp1','temp2');
f2 = f2.*f1
end
g = g+temp0*f2;
end
end
%plot g
end