yoik123
yoik123
2015-04-06 02:30
采纳率: 50%
浏览 3.9k
已采纳

请大神帮忙做一个matlab的三次样条插值程序,小弟是小白啊,谢过了!急急急

已知:
X=[1 3 6 8 10 14 16 20 23]
Y=[0.345 0.343 0.616 0.900 0.581 0.302 0.250 0.101 0.104]
求:
X=[1 2 3 ...... 23]对应的Y值

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • u010298834
    王维来 2015-04-07 12:55
    已采纳

    x=[1 3 6 8 10 14 16 20 23];
    y=[0.345 0.343 0.616 0.900 0.581 0.302 0.250 0.101 0.104];
    p=polyfit(x,y,3);
    xi=1:23;
    yi=polyval(p,xi);
    plot(x,y,'*',xi,yi,'r')
    legend('原始数据','插值数据');

    这次我试过肯定行,你要是觉得曲线拟合的不是太好,可以修改p=polyfit(x,y,3);行中的3,将其修改的更大一些。

    点赞 评论
  • devmiao
    devmiao 2015-04-06 02:58
  • oyljerry
    oyljerry 2015-04-06 05:57
    点赞 评论
  • u010298834
    王维来 2015-04-06 07:26

    X=[1 3 6 8 10 14 16 20 23]
    Y=[0.345 0.343 0.616 0.900 0.581 0.302 0.250 0.101 0.104
    p=polyfit(x,y,3);
    xi=1:23;
    z=polyval(p,xi);
    plot(x,y,'o',xi,z,'k:',xi,z,'b')
    legend('原始数据','插值数据');

    点赞 评论
  • qq_34624614
    qq_34624614 2016-07-19 11:40

    x=[1 3 6 8 10 14 16 20 23];
    y=[0.345 0.343 0.616 0.900 0.581 0.302 0.250 0.101 0.104];
    p=polyfit(x,y,6);
    xi=1:23;
    yi=polyval(p,xi);
    plot(x,y,'*',xi,yi,'r')
    legend('原始数据','插值数据');

    点赞 评论

相关推荐