请大神帮忙做一个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值

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,将其修改的更大一些。

参考这里哦
http://download.csdn.net/detail/book_of_changes/1359213
http://wenku.baidu.com/link?url=AxpRKK6IGEV_b1F5aLZveblBIUKIC1hr9IlWZVJUf8wPGG7zEWrEkSyhZQIwMrPA8XRZw6tfwQG_wSNANmYHlqvojRR6X8VXEEdqw6dNQ2O

http://m.blog.sina.com.cn/s/blog_786ce14d0101gah4.html

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('原始数据','插值数据');

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('原始数据','插值数据');