关于#matlab#的问题,请各位专家解答!

img


不太了解这方面,看看能不能解答一下,现在挺需要的,谢谢啦,真心感谢

先对f(x)等间隔采样出一个离散序列,然后插值可以用interp1、多项式拟合、三次样条插值,上代码:

clc,clear,close all;
x = linspace(-2,2,10);
y = exp(-x.^2);
figure(1)
stem(x,y,"LineWidth",1.5)
grid on
title('f(x)')
%interp1线性插值
xq = linspace(-2,2,20);
vq1 = interp1(x,y,xq);
figure(2)
plot(x,y,'o',xq,vq1,':.',"LineWidth",1.5);
xlim([-2 2]);
grid on
title('interp1线性插值');
%polyfit多项式拟合插值
p = polyfit(x,y,7);
y1 = polyval(p,x);
figure(3)
plot(x,y,'g-o',"LineWidth",1.5)
hold on
plot(x,y1,"LineWidth",1.5)
hold off
xlim([-2 2]);
grid on
title('polyfit多项式拟合插值');
%spline三次样条插值
yy = spline(x,y,xq);
figure(4)
plot(x,y,'o',xq,yy,"LineWidth",1.5)
xlim([-2 2]);
grid on
title('spline三次样条插值');

img


img


img


img