我使用 Scilab 的前向差异 Table 的问题在哪里?
Where is the problem in my Forward Difference Table using Scilab?
所以,我必须像这样对函数 f(x) 进行插值。
x = 0:0.1:2.8;
y = [0 0.717 0.999 0.675 0.0583 0.7568 0.9961 0.6312];
这是我目前得到的代码。
clc
clear
x = 0:0.1:2.8;
y = [0 0.717 0.999 0.675 0.0583 0.7568 0.9961 0.6312];
n = length(x);
del = %nan * ones (n ,7) ;
del (:,1) = y';
for j = 2:7
for i = 1: n - j +1
del (i,j) = del(i+1,j-1) - del(i,j-1);
end
end
del = [x'del];
del = round ( del *10^3) /10^3;
mprintf ("%5s,%7s,%8s,%9s,%8s,%8s,%8s",'x','y','dy','d2y','d3y','d4y','d5y')
disp ( del )
它给我 Submatrix incorrectly defined 错误。
可能是哪里出了问题?
x
和y
的长度应该是一样的,但是你的数据不是这样的。例如,您可以设置
y = [0 0.717 0.999 0.675 0.0583 0.7568 0.9961 0.6312];
x = linspace(0,2.8,length(y));
行del = [x'del];
失败,应该写成(少了一个space)
del = [x' del];
然后你的脚本输出结果:
x, y, dy, d2y, d3y, d4y, d5y
0. 0. 0.717 -0.435 -0.171 0.484 0.81 -5.487
0.4 0.717 0.282 -0.606 0.313 1.295 -4.677 9.689
0.8 0.999 -0.324 -0.293 1.608 -3.382 5.012 Nan
1.2 0.675 -0.617 1.315 -1.774 1.629 Nan Nan
1.6 0.058 0.699 -0.459 -0.145 Nan Nan Nan
2. 0.757 0.239 -0.604 Nan Nan Nan Nan
2.4 0.996 -0.365 Nan Nan Nan Nan Nan
2.8 0.631 Nan Nan Nan Nan Nan Nan
所以,我必须像这样对函数 f(x) 进行插值。 x = 0:0.1:2.8; y = [0 0.717 0.999 0.675 0.0583 0.7568 0.9961 0.6312];
这是我目前得到的代码。
clc
clear
x = 0:0.1:2.8;
y = [0 0.717 0.999 0.675 0.0583 0.7568 0.9961 0.6312];
n = length(x);
del = %nan * ones (n ,7) ;
del (:,1) = y';
for j = 2:7
for i = 1: n - j +1
del (i,j) = del(i+1,j-1) - del(i,j-1);
end
end
del = [x'del];
del = round ( del *10^3) /10^3;
mprintf ("%5s,%7s,%8s,%9s,%8s,%8s,%8s",'x','y','dy','d2y','d3y','d4y','d5y')
disp ( del )
它给我 Submatrix incorrectly defined 错误。 可能是哪里出了问题?
x
和y
的长度应该是一样的,但是你的数据不是这样的。例如,您可以设置
y = [0 0.717 0.999 0.675 0.0583 0.7568 0.9961 0.6312];
x = linspace(0,2.8,length(y));
行del = [x'del];
失败,应该写成(少了一个space)
del = [x' del];
然后你的脚本输出结果:
x, y, dy, d2y, d3y, d4y, d5y
0. 0. 0.717 -0.435 -0.171 0.484 0.81 -5.487
0.4 0.717 0.282 -0.606 0.313 1.295 -4.677 9.689
0.8 0.999 -0.324 -0.293 1.608 -3.382 5.012 Nan
1.2 0.675 -0.617 1.315 -1.774 1.629 Nan Nan
1.6 0.058 0.699 -0.459 -0.145 Nan Nan Nan
2. 0.757 0.239 -0.604 Nan Nan Nan Nan
2.4 0.996 -0.365 Nan Nan Nan Nan Nan
2.8 0.631 Nan Nan Nan Nan Nan Nan