m0_72562190 2022-07-04 18:06 采纳率: 33.3%
浏览 63
已结题

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

img


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

  • 写回答

1条回答 默认 最新

  • Wayne_Fine 优质创作者: 嵌入式与硬件开发技术领域 2022-07-04 19:43
    关注

    先对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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 7月12日
  • 已采纳回答 7月4日
  • 创建了问题 7月4日