24小时热门版块排行榜    

查看: 2094  |  回复: 28
本帖产生 2 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

sudo

木虫 (正式写手)

[交流] 【致H兄】数列题的万能多项式拟合求法 已有2人参与

中秋快到了无心工作,就娱乐一下吧~

不知道是怎么回事的虫友请看这个帖子:
http://muchong.com/bbs/viewthread.php?tid=3573558&fpage=0&view=&highlight=&page=1

分析也在那个帖子里面啦,就不多说了,放MATLAB代码:
CODE:
function av = myPolyFit(y)
%A * av = y
    n = length(y);
    y = y(:); %make `y` a column vector
   
    %construct `A`
    A = (1:n)' * ones(1,n);
    for j = n-2 :-1: 1
        A(:,j) = A(:,j) .* A(:,j+1);
    end
    A(:,n) = ones(n,1);
   
    av = A\y;

其中y是序列,av是所找到的多项式的系数。

就以H兄的题目为例子吧
22   26   ()   23   24    21  ()    18

括号里面的数据可以乱填,比如这里就都填20吧,那么就有这段MATLAB程序:
CODE:
y=[22 26 20 23 24 21 20 18];
av=myPolyFit(y);
n=1:0.001:9;
val=polyval(av, n);
poly2str(av, 'n')
plot(n, val)

输出的多项式为:
CODE:
   0.0047619 n^7 - 0.18889 n^6 + 3.025 n^5 - 25.1806 n^4 + 116.3583 n^3
   - 293.6306 n^2 + 365.6119 n - 144

输出的图为:


[ Last edited by sudo on 2011-9-9 at 16:13 ]
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖
引用回帖:
8楼: Originally posted by sudo at 2011-09-09 20:06:32:
哦,差点忘了,祝各位中秋快乐~~~

大家都提前预祝哈~大家同乐,独乐乐,不如与众~
漩涡的中心有一块空地,空空的。
10楼2011-09-09 20:13:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 29 个回答

huycwork

金虫 (著名写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
xzhdty(金币+2): 欢迎常来程序语言看看 2011-09-09 23:08:48
余泽成: 你们都是高手,惺惺相惜啊,哈哈! 2011-09-09 23:38:20
侬这动静闹得这般震撼,风口浪尖儿的
一般情况下如果等差数列,比如1 2 3 4 5 6。
俺表示淡定,说,这个用一个项就可以得出答案了!
Matlab表示淡定,想,sudo同学给了俺一个段儿呢!
计算机表示淡定,合计着,啥时把Matlab调过来,请sudo吃个月饼,一顿饭就解决了!
广大虫友表示淡定,这有啥,这方法不是那儿有嘛!
出考题的老师表示不够淡定,啥?六次方!
漩涡的中心有一块空地,空空的。
2楼2011-09-09 17:51:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangww2011

木虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
xzhdty(金币+1): 中秋快乐! 2011-09-09 23:09:05
引用回帖:
1楼: Originally posted by sudo at 2011-09-09 16:11:12:
中秋快到了无心工作,就娱乐一下吧~

不知道是怎么回事的虫友请看这个帖子:
http://muchong.com/bbs/viewthread.php?tid=3573558&fpage=0&view=&highlight=&page=1

分析也在那 ...

中秋快乐!

你这个纯多项式拟合不靠谱,因为这是局部的拟合,而实际上那个数列可以无限长的啊
3楼2011-09-09 18:03:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖
送鲜花一朵
余泽成(程序强帖+1): 鼓励交流! 2011-09-09 23:39:00
依我看,待定系数法就差不离了,能解决90%以上此类题,分两类,一类是指数式:
f2n = ab^n
另外一类是多项式,这个最高项由数据的多数决定,上面的式子占去两个参数,剩下的就归它:
f1n = an^3+bn^2+cn+d
将两类混合在一起建立方程,就是:
fn = ab^n+cn^3+dn^2+en+f
然后代入自然数列出求解矩阵,剩下的就是解方程组的工夫了。
漩涡的中心有一块空地,空空的。
4楼2011-09-09 18:39:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见