如何用MATLAB最小二乘法 相关系数得出回归方程系数

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
最小二乘法拟合公式推导及matlab实现.doc 5页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:150 &&
最小二乘法拟合公式推导及matlab实现
你可能关注的文档:
··········
··········
?|?最小二乘法拟合圆公式推导及matlab实现
最小二乘法(least squares analysis)是一种数学优化技术,它通过
最小化误差的平方和找到一组数据的最佳函数匹配。最小二乘法是用最
简的方法求得一些绝对不可知的真值,而令误差平方之和为最小。 最
小二乘法通常用于曲线拟合 (least squares fitting) 。
这里有拟合圆曲线 的公式推导过程和vc实现。 matlab 实现:
function [R,A,B]=circ(x,y,N)
x1 = 0; x2 = 0; x3 = 0; y1 = 0; y2 = 0; y3 = 0; x1y1 = 0; x1y2 = 0; x2y1 = 0;
for i = 1 : N ??? x1 = x1 + x(i); ??? x2 = x2 + x(i)*x(i); ??? x3 = x3 + x(i)*x(i)*x(i); ??? y1 = y1 + y(i); ??? y2 = y2 + y(i)*y(i); ??? y3 = y3 + y(i)*y(i)*y(i); ??? x1y1 = x1y1 + x(i)*y(i); ??? x1y2 = x1y2 + x(i)*y(i)*y(i); ??? x2y1 = x2y1 + x(i)*x(i)*y(i); end
C = N * x2 - x1 * x1; D = N * x1y1 - x1 * y1; E = N * x3 + N * x1y2 - (x2 + y2) * x1; G = N * y2 - y1 * y1; H = N * x2y1 + N * y3 - (x2 + y2) * y1;
a = (H * D - E * G)/(C * G - D * D); b = (H * C - E * D)/(D * D - G * C); c = -(a * x1 + b * y1 + x2 + y2)/N;
A = a/(-2);????????? %x坐标 B = b/(-2);????????? %y坐标 R = sqrt(a * a + b * b - 4 * c)/2;
void CViewActionImageTool::LeastSquaresFitting()
if (m_nNum&3)
double X1=0;
double Y1=0;
double X2=0;
double Y2=0;
double X3=0;
double Y3=0;
double X1Y1=0;
double X1Y2=0;
double X2Y1=0;
for (i=0;i&m_nNi++)
X1 = X1 + m_points[i].x;
Y1 = Y1 + m_points[i].y;
X2 = X2 + m_points[i].x*m_points[i].x;
Y2 = Y2 + m_points[i].y*m_points[i].y;
X3 = X3 + m_points[i].x*m_points[i].x*m_points[i].x;
Y3 = Y3 + m_points[i].y*m_points[i].y*m_points[i].y;
X1Y1 = X1Y1 + m_points[i].x*m_points[i].y;
X1Y2 = X1Y2 + m_points[i].x*m_points[i].y*m_points[i].y;
X2Y1 = X2Y1 + m_points[i].x*m_points[i].x*m_points[i].y;
double C,D,E,G,H,N;
double a,b,c;
C = N*X2 - X1*X1;
D = N*X1Y1 - X1*Y1;
E = N*X3 + N*X1Y2 - (X2+Y2)*X1;
G = N*Y2 - Y1*Y1;
H = N*X2Y1 + N*Y3 - (X2+Y2)*Y1;
a = (H*D-E*G)/(C*G-D*D);
b = (H*C-E*D)/(D*D-G*C);
c = -(a*X1 + b*
正在加载中,请稍后...小木虫 --- 600万学术达人喜爱的学术科研平台
热门搜索:
&&MATLAB怎样输出最小二乘法拟合的函数
MATLAB怎样输出最小二乘法拟合的函数
用最小二乘拟合出了函数,但不知道怎么输出这个函数
按你的方法,怎么提示我没定义
1.你这里的b(1)、b(2)……是什么?
2.你的最小二乘法我没看明白你是用哪个函数算的……
我给出我的,你看看:
=polyfit(x,y,3);
x1=0:0.1:24;
y1=polyval(p,x1);
plot(x,y,'bo',x1,y1,'r-');
如果拟合的是多元函数呢?我拟合的是四元二次方程,有四个输入,一个输出。求大神赐教
此时你只有通过编程计算来进行了,不能直接使用函数。
1.查看最小二乘法的计算过程;最小二乘法是具有计算过程的。
2.根据你的数据进行计算看看。
3.看看这个编程:/link?url=S22l3dKVwb-sQwWgpXTeMDTsLrSP7E876lf97iHFz_TX4I1R8MNNWiGrl98p2bIdqxaHX5AQuXaSHLg9L_eYw6Za2NNQRYZ-1SHlJEyzqPa
PS:我不知道你之前是怎么做的,是不是已经做出来了?
已经做出来了,拟合值和误差都显示出来了,但拟合的方程表达式不知道怎么输出
先恭喜你咯:D
要明确一点就是,其实最终得到的是一个系数向量p或者是矩阵P什么的。
你是怎么做的,然后获得的系数是什么,能都贴出了给我看看。
另外,怎么输出,已经在之前的回答中给出了哈。
使用fprintf函数啊~
你给我个邮箱,发给你看看
学术必备与600万学术达人在线互动!
扫描下载送金币最小二乘法matlab_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
最小二乘法matlab
&&关于最小二乘法的matlab的实现
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢小木虫 --- 600万学术达人喜爱的学术科研平台
热门搜索:
&&如何用MATLAB最小二乘法得出回归方程系数?
如何用MATLAB最小二乘法得出回归方程系数?
各位高手,求大家帮帮忙,万分感谢!!!回归方程模型如下:C=a*(x^m/y^n)+b*y^p
如何运用Matlab工程软件,采用最小二乘法分别求指数数a,b,m,n,p?具体程序是怎样的?
回归方程显著性检验如何进行?具体程序是什么?
实验数据如下:
& & X& & & && && && && &&&Y&&& & & & C
1100.21& & & & 57.66& & & & 1.8
1157.88& & & & 57.79& & & & 1.7
1272.85& & & & 58.03& & & & 1.67
1330.34& & & & 58.22& & & & 1.67
1389& & & & 57.69& & & & 1.7
1590& & & & 57.01& & & & 1.67
1820& & & & 55.42& & & & 1.6
2049& & & & 59.35& & & & 1.5
2308& & & & 58.32& & & & 1.56
2596& & & & 57.28& & & & 1.6
2711& & & & 57.13& & & & 1.368
2826& & & & 55.61& & & & 1.33
2883& & & & 54.79& & & & 1.315
2940& & & & 53.78& & & & 1.325
3001& & & & 54.41& & & & 1.3
3117& & & & 55.93& & & & 1.2495
3291& & & & 57.15& & & & 1.28
3377& & & & 58.05& & & & 1.25
3522& & & & 58.41& & & & 1.31
3725& & & & 57.61& & & & 1.31
3899& & & & 53.55& & & & 1.195
4015& & & & 51.22& & & & 1.178
4188& & & & 50.89& & & & 1.185
抱歉,可能我的方法不对。我回代了你的系数,发现按照现有X\Y数值,算出来的C值,跟我的不一样
我看错了,那个是除号不是乘号,
那么,你只要把n的值都变成负的就行了:D
建议使用这个结果:
a= -22.888,
m= 0.65433,
n= 0.4735,
b= 27.936,
k= -0.54076
就是n变成原来的反号,再试试看;
你可以对比1stopt的结果,选择残差平方和最小的:D
不知道是不是我算错了。我用了你的相关系数,回代计算,发现计算出来的C,跟之前给出的数值相差很大。
下面是计算的截图。
抱歉,因为我之前一点matlab都没学过。现在您给我这个结果后,还是有些不合适。所以我想,方便的话,您可不可以把这个的matlab程序发我一份?这样导师问我怎么做的,我也好答复
我发现 dingd的结果是所有结果里面最好的;
建议你采用1stOpt的方法解决这个问题.
进一步跟dingd 沟通一下吧:D
此外,根据你的反馈,你的问题的背景依赖性很强,不了解背景的时候,很难判断什么解法最可靠.
其实也没什么要求,就是要求求出的系数在回代后,算出的C值能跟给出的实验数据接近或者吻合就好
我这很正常,你再仔细算算。
抱歉,我马虎了,公式编辑错了(我又重新发帖了)。给你带来麻烦了。还是非常感谢您的帮助。送您一朵红花:D
学术必备与600万学术达人在线互动!
扫描下载送金币

我要回帖

更多关于 最小二乘法系数 的文章

 

随机推荐