改正后的代码如下:

function [C,D] = newpoly(X,Y) n = length(X); D = zeros(n,n); D(:,1) = Y'; for j = 2:n for k = j:n D(k,j) = (D(k,j-1) - D(k-1,j-1)) / (X(k) - X(k-j+1)); end end C = D(n,n); for k = (n-1):-1:1 C = conv(C,poly(X(k))); m = length(C); C(m) = C(m) + D(k,k); end

% 测试代码 clear, clf, hold on; X = -1:0.2:1; Y = 1./(1+25X.^2); [C,D] = newpoly(X, Y); x = -1:0.01:1; y = polyval(C, x); plot(x, y, X, Y, '.'); grid on; xp = -1:0.2:1; z = 1./(1+25xp.^2); plot(xp, z, 'r');

检查下面代码并改正function CD=newpoly XYn=lengthX;D=zeros nn;D1=Y;for j=2nfor k=jn Dkj=Dkj-1-Dk-1j-1Xk-Xk-j+1;endendC=Dnn;for k=n-1-11 C=convCpoly Xk; m=lengthC; Cm=Cm+Dkk;end当n=10在命令行窗口输入:clearclf

原文地址: https://www.cveoy.top/t/topic/fd6B 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录