Matlab 牛顿插值:从分差表中求多项式的值
所以我有这个函数来创建一个分差表,但是我需要写另一个函数来找到多项式的值,我完全不知道怎么做Matlab 牛顿插值:从分差表中求多项式的值,matlab,newtons-method,Matlab,Newtons Method,所以我有这个函数来创建一个分差表,但是我需要写另一个函数来找到多项式的值,我完全不知道怎么做 function [F] = divdiff(x,y) n=length(x) F=zeros(n,n) for i = 1:n F(i,1) = y(i) end for j = 2:n for i = j:n F(i,j) = (F(i,j-1) - F(i-1, j-1))./ (x(i)-x(i
function [F] = divdiff(x,y)
n=length(x)
F=zeros(n,n)
for i = 1:n
F(i,1) = y(i)
end
for j = 2:n
for i = j:n
F(i,j) = (F(i,j-1) - F(i-1, j-1))./ (x(i)-x(i-j+1));
end
end
现在我有了函数v=polyvalue(a,x,t)
不起作用的次要挑剔:
i
和j
表示Matlab中的。为了避免在使用复数时产生混淆,您应该习惯将迭代变量命名为“ii”和jj
或其他名称。您所说的“找到多项式的值”是什么意思?这是否意味着您希望使用多项式p
插值数据,并计算给定x
,p_val=p(x)
的多项式值?如果是,您可以查看。这里有很多不同语言的例子,你可以看到你是如何改变MATLAB的。
pval = zeros(length(t),1);
for ind_t = 1:length(t);
t_val = t(ind_t);
for ind_a = 1: length(a)
xterm_val = 1,
for ind_x = 1:(ind_a - 1)
xterm_val = xterm_val .* (t_val -x(ind_x));
pval(ind_t) = pval(ind_t) + a(ind_a) .* xterm_val
end
end
end
end`