如何用最小二乘法进行实验曲线的拟合
答案:1 悬赏:30 手机版
解决时间 2021-11-27 08:52
- 提问者网友:姑娘长的好罪过
- 2021-11-26 17:59
如何用最小二乘法进行实验曲线的拟合
最佳答案
- 五星知识达人网友:躲不过心动
- 2021-11-26 18:55
//最小二乘法曲线拟合typedef CArrayCDoubleArray;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;i1) { T[1]=1; T[0]=-P; D2=0; C=0; G=0; for(i=0;i=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=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;}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯