1

我刚刚开始编程,在使用 MATLAB 将函数作为参数传递时遇到了一些问题。我必须为插值实现拉格朗日算法。

C1C2是表示插值坐标点的向量。

我的主要问题是我不知道如何在我的f1定义中temp1解释它temp2不是变量,而是在循环的每次迭代中确定的值for(forij)。

我认为代码剩余部分可能几乎是正确的。

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
4

0 回答 0