matlab r2012b插值拟合问题

2025-04-09 01:40:34
推荐回答(1个)
回答1:

x = (1:7);
y = [12,9,9,10,18,24,28];
xi = 0:0.25:8;

% [b,bint,r,rint,stats]= regress(y,x);

n=3;
p=polyfit(x,y,n);
z=polyval(p,xi); %多项式拟合

zi=interp1(x,y,xi,'spline');  %三次样条插值

subplot(2,2,1);plot(y,'x');title('初始值');
subplot(2,2,2);plot(y);title('初始值');
subplot(2,2,3);plot(z);title('拟合');
subplot(2,2,4);plot(zi);title('插值');

disp('拟合平方误差')
errz = sum((z(5:4:29)-y).^2);
disp(errz);

disp('插值平方误差')
errzi = sum((zi(5:4:29)-y).^2);
disp(errzi);

disp('拟合得8点的温度')
disp(z(33));



拟合平方误差

    6.1429


插值平方误差

     0


拟合得8点的温度

   31.4286