matlab 求拟合函数

数据就是时间序列:

2459.40
2459.90
2453.70
2454.90
2453.80
2452.80
2452.20
2458.90
2458.30
2456.70
2457.80
2458.40
2459.30
2456.80
2459.80
2461.90
2475.30
2473.90
2474.40
2466.40
2463.60
2461.10
2461.40
2461.60
2458.80
2459.80
2456.80
2460.80
2462.60
2462.20
2462.50
2456.60
2459.10
2459.70
2461.00
2466.70
2467.20
2465.20
2467.20
2461.30
2461.50
2460.00
2460.90
2462.10
2457.90
2458.00
2455.40
2456.00
2459.50
2458.90
2461.70
2461.80
2462.50
2463.60
2462.90
2460.90
2461.10
2461.30
2463.00
2463.20
2463.60
2467.50
2469.50
2464.70
2457.90
2456.40
2455.60
只有数据 没有任何可参考公式或函数。 求能最大化拟合的函数算法 代码。

这只是前八个数的程序 你自己把剩下的数据加上
x=[1:8];
y=[2459.40,2459.90,2453.70,2454.90,2453.80,2452.80,2452.20,2458.90];
p=polyfit(x,y,2)

最后曲线集合结果
y=0.4595-4.6810*x+0.002465*x^2

另外还有其他拟合方法 你百度百科搜 稳健拟合
那个是我创建的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-23
X=[这些数据]
plot(X)
或用神经网络求解(BP较好)追问

如何 求解。 求代码。! 谢谢啦!

追答

我给你一个神经网络程序,你把对应的数据与矩阵尺寸改改就可以了
具体如下:
function error = fun(x,inputnum,hiddennum,outputnum,net,inputn,outputn)
%该函数用来计算适应度值
%x input 个体
%inputnum input 输入层节点数
%outputnum input 隐含层节点数
%net input 网络
%inputn input 训练输入数据
%outputn input 训练输出数据
%error output 个体适应度值
%提取
w1=x(1:inputnum*hiddennum);
B1=x(inputnum*hiddennum+1:inputnum*hiddennum+hiddennum);
w2=x(inputnum*hiddennum+hiddennum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum);
B2=x(inputnum*hiddennum+hiddennum+hiddennum*outputnum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum);
net=newff(inputn,outputn,hiddennum);
%网络进化参数
net.trainParam.epochs=20;
net.trainParam.lr=0.1;
net.trainParam.goal=0.00001;
net.trainParam.show=100;
net.trainParam.showWindow=0;

%网络权值赋值
net.iw{1,1}=reshape(w1,hiddennum,inputnum);
net.lw{2,1}=reshape(w2,outputnum,hiddennum);
net.b{1}=reshape(B1,hiddennum,1);
net.b{2}=B2;
%网络训练
net=train(net,inputn,outputn);
an=sim(net,inputn);
error=sum(abs(an-outputn));

你的安装遗传算法工具箱才可以

追问

这样下来我看不到 所引用的公式啊。 就是能拟合这些数据的公式看不到啊。怎么能看到呢

追答

想要拟合公式吗?神经网络一般得不出拟合公式,公式内涵分布在各层权值与阈值中,可以考虑用灰色理论预测,在百度中搜一下有关灰色理论的matlab程序,我记得有一个大神的程序能直接得出公式,你搜一下吧

追问

麻烦帮忙帮到底吧 ,哪怕是能得出公式的网页链接也行。

追答

好吧,明天下午告诉你可以吧,现在有点事
把你邮箱发到我[email protected]
我做好后给你发过来

相似回答