Передача функции в качестве аргумента в 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

0 ответов

Другие вопросы по тегам