社区
C语言
帖子详情
谁有最小二乘法的源码?急急急!!
alexhilton
2008-12-01 11:19:55
马上就要用, 来不急自己写了, 谁有, 发一个哈!
...全文
55
1
打赏
收藏
谁有最小二乘法的源码?急急急!!
马上就要用, 来不急自己写了, 谁有, 发一个哈!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
goziem
2008-12-01
打赏
举报
回复
非线性有很多种?有的是化成线性来解决!
你最好把公式给出来?
下是y=ax^2+bx+c的 给你参考
最小二乘法曲线拟合
//最小二乘法曲线拟合
typedef CArray<double,double>CDoubleArray;
BOOL CalculateCurveParameter(CDoubleArray *X,CDoubleArray *Y,long M,long N,CDoubleArray *A)
{
//X,Y -- X,Y两轴的坐标
//M -- 结果变量组数
//N -- 采样数目
//A -- 结果参数
register long i,j,k;
double Z,D1,D2,C,P,G,Q;
CDoubleArray B,T,S;
B.SetSize(N);
T.SetSize(N);
S.SetSize(N);
if(M>N)M=N;
for(i=0;i<M;i++)
(*A)[i]=0;
Z=0;
B[0]=1;
D1=N;
P=0;
C=0;
for(i=0;i<N;i++)
{
P=P+(*X)[i]-Z;
C=C+(*Y)[i];
}
C=C/D1;
P=P/D1;
(*A)[0]=C*B[0];
if(M>1)
{
T[1]=1;
T[0]=-P;
D2=0;
C=0;
G=0;
for(i=0;i<N;i++)
{
Q=(*X)[i]-Z-P;
D2=D2+Q*Q;
C=(*Y)[i]*Q+C;
G=((*X)[i]-Z)*Q*Q+G;
}
C=C/D2;
P=G/D2;
Q=D2/D1;
D1=D2;
(*A)[1]=C*T[1];
(*A)[0]=C*T[0]+(*A)[0];
}
for(j=2;j<M;j++)
{
S[j]=T[j-1];
S[j-1]=-P*T[j-1]+T[j-2];
if(j>=3)
{
for(k=j-2;k>=1;k--)
S[k]=-P*T[k]+T[k-1]-Q*B[k];
}
S[0]=-P*T[0]-Q*B[0];
D2=0;
C=0;
G=0;
for(i=0;i<N;i++)
{
Q=S[j];
for(k=j-1;k>=0;k--)
Q=Q*((*X)[i]-Z)+S[k];
D2=D2+Q*Q;
C=(*Y)[i]*Q+C;
G=((*X)[i]-Z)*Q*Q+G;
}
C=C/D2;
P=G/D2;
Q=D2/D1;
D1=D2;
(*A)[j]=C*S[j];
T[j]=S[j];
for(k=j-1;k>=0;k--)
{
(*A)[k]=C*S[k]+(*A)[k];
B[k]=T[k];
T[k]=S[k];
}
}
return TRUE;
}
最小二乘法
曲线拟合(
源
码)
网上搜集的
最小二乘法
曲线拟合演示程序,和对任意若干点进行曲线拟合,可选择拟合多项式次数
用C++实现的
最小二乘法
用C++实现的
最小二乘法
。对不住大家了,只有程序,
源
码找不到了!
Matlab
最小二乘法
曲线拟合(
源
码+注释+运行截图)
matlab
最小二乘法
进行曲线拟合(
源
码+注释) 特别详细介绍了多项式拟合(代码+运行截图)。
android通讯录
源
码
精致的android通讯录
源
码下载,精致的安卓通讯录
源
码 是一套用户体验做的很赞的安卓通讯录和短信项目
源
码,很完整的
源
码打包给大家,分享下载!
Spring3.0.5
源
码+lib包(全)
Spring3.0.5
源
码以及对应的lib包。亲测可用!
C语言
69,381
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章