在Scilab中生成符号插值多项式

时间:2015-12-21 15:20:27

标签: scilab polynomials

我已经制作了一个代码,用于通过插值点来计算分割差分法和拉格朗日法的结果。我还想使用符号变量构建一个多项式,但我该如何实现呢?

{{1}}

1 个答案:

答案 0 :(得分:1)

要创建符号多项式,请使用x = poly(0,"x")初始化符号变量,其中x是要在多项式中使用的变量的名称。然后继续使用它完全按照函数lagrange中的计算进行计算。我基本上将你的函数复制到下面的symboliclagrange,删除了数字参数和中间显示:

function symboliclagrange(X,Y)
    x = poly(0,"x")
    for i=1:length(Y)
        l(i)=1
        for j=1:length(Y)
            if i~=j
                l(i) = l(i)*(x-X(j))/(X(i)-X(j))
            end
        end
    end
    L=0
    for i=1:length(Y)
        L = L+Y(i)*l(i)
    end
    disp(L)
endfunction

输入X = [0 1 5 8]Y = [0 1 8 16.4]输出为0.85x + 0.15x 2 ,这是正确的插值多项​​式。