gaspb.m

来自「matlab例子」· M 代码 · 共 36 行

M
36
字号
x=0:10;y=sin(x);
xi=0:0.25:10;
a1=zeros(1,length(y)+3);
%a1(2)=rand(1,1)*max(y);
a1(2)=-0.26627284986898;%*max(y);
for i=3:length(y)+2
   a1(i)=6*y(i-2)-4*a1(i-1)-a1(i-2);
end
%a1(length(y)+1)=(6*y(length(y))-a1(length(y)))/4;
%for i=1:length(y)
%   t(i)=(a1(i)+4*a1(i+1)+a1(i+2))/6;
%end
%yout=[];
coefM=[-1,3,-3,1;3,-6,3,0;-3,0,3,0;1,4,1,0];
b=zeros(1,4);
b=b';tt=a1';
out=[];
for k=1:length(y)-1
   out=[out,y(k)];
	for p=0.25:0.25:0.75
   	ptt=[p^3,p^2,p,1];
	   b=coefM*tt(k:k+3);
   	out=[out,b'*ptt'/6];
	end
end
out=[out,y(length(y))];
xi = 0:.25:10;
%yi = spline(x,y,xi);
%plot(x,y,'o',xi,yi);
%figure(2);
subplot(2,2,1);
plot(x,y,'blacko',xi,out,'black');axis([0,10,-1,1]);
grid;
errorga=max(abs(out-sin(xi)))
%errorsp=max(abs(yi-sin(xi)))

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?