巴西尔·马其顿人 2022-07-04 21:48 采纳率: 66.7%
浏览 17
已结题

怎么样才能不用interp1函数实现插值算法

在不调用matlab中interp1函数的前提下,如何实现插值算法的功能?

  • 写回答

2条回答 默认 最新

  • 鹅毛在路上了 Matlab领域优质创作者 2022-07-04 22:24
    关注

    插值算法还有很多,你说的interp1只是线性插值,还可以用多项式拟合插值(polyval,polyfit),次数越高拟合效果越好,但也有可能过拟合;还有常有的三次样条插值spline、最近邻插值(nearst)等,例:

    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)')
    %polyfit多项式拟合插值
    p = polyfit(x,y,7);
    y1 = polyval(p,x);
    figure(2)
    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(3)
    plot(x,y,'o',xq,yy,"LineWidth",1.5)
    xlim([-2 2]);
    grid on
    title('spline三次样条插值');
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)