我正在研究一個函數,該函數將爲給定的一組有序對生成多項式插補。您目前在一個矢量中輸入節點的索引,並在第二個矢量中插入函數的值。然後,我爲拉格朗日多項式生成一個符號表達式,用於內插這組點。我希望能夠從這個符號形式轉換爲矢量形式,以便與測試功能等進行比較。也就是說,我有一些根據某個符號變量x產生多項式P(x)的東西。然後,我想將這個多項式抽樣到一個向量上,並獲取多項式的值(例如)linspace(-1,1,1000)。如果這是可能的,我該怎麼做?如何從符號表達式轉換爲MATLAB中的矢量
我想我會包括我到目前爲止的代碼:我打算根據我怎麼能解決這個問題,添加第三(或可能第四)輸入
function l_poly = lpoly(x,f)
% Returns the polynomial interpolant as computed by lagrange's formula
syms a
n=size(x,2);
l_poly_vec = 1;
l_poly=0;
for k=1:n,
for l=1:n,
if (k ~= l)
l_poly_vec=l_poly_vec*(a-x(l))/(x(k)-x(l));
end
end
l_poly=l_poly+f(k)*l_poly_vec;
l_poly_vec = 1;
end
。我猜我只需要我想要採樣的矢量長度和端點。