我正在尝试使用 MATLAB 函数插入以下函数spline
,
在等距点xi = i./n
,i = 0,1,...,n
和 对于n = 2^j
, j = 4,5,...,14
.
对于每次计算,我都会记录这些点的最大误差,并使用绘图来x = 0:0.001:1
绘制这些误差。n
loglog
下面是代码,
index=1
for j = 4:1:14;
n = 2^j;
i = 0:1:n;
xi = i./n;
yi = ((exp(3*xi))*sin(200.*(xi.^2))) ./(1+20.*(xi.^2));
x = 0:.001:1;
ye = ((exp(3*x))*sin(200*x.^2)) ./(1+20*x.^2);
yp = spline(x,xi,yi);
err = ye - yp;
merr(index) = max(err);
index = index+1;
end
n1 = 10:10:170;
loglog(n1, merr,'.')
xlabel('n');
ylabel('errors');
title('Cubic Splines');
但是当我运行代码时,出现以下错误:
错误使用 * 内矩阵尺寸必须一致。
(第 9 行) yi = ((exp(3*xi)) sin(200. (xi.^2))) ./(1+20.*(xi.^2));
我刚开始学习MatLab,有人可以帮忙吗?