以下是关于matlab中直线的最小二乘拟合,是矩阵除法的编程,(y=kx+b)
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/29 01:25:07
以下是关于matlab中直线的最小二乘拟合,是矩阵除法的编程,(y=kx+b)
function[k,b]=linefit(x,y)
n=length(x);
x=reshape(x,n,1);
y=reshape(y,n,1);
A=[x,ones(n,1)];
bb=y;
B=A'*A;
bb=A'*bb;
yy=B\bb;
k=yy(1);
b=yy(2);
function[k,b]=linefit(x,y)
n=length(x);
x=reshape(x,n,1);
y=reshape(y,n,1);
A=[x,ones(n,1)];
bb=y;
B=A'*A;
bb=A'*bb;
yy=B\bb;
k=yy(1);
b=yy(2);
最小二乘估计的一般公式:已知Y = Hx;其中Y是测量数据,H是观测矩阵,x是待定参数.H应该是一个行数多于列数的矩阵.则,
X = (H.'*H)\H.'*Y
是x的最小二乘估计.
现在,要估计的参数就是[k; b].每一次观测都可以表示为y = [x 1]*[k; b]. 将数据纵向排列起来,由此可以构造出Y和观测矩阵H.
再问: 最小二乘法求参数我理解,就是下面这些语句不是很理解,能帮忙解释一下吗? bb=y; B=A'*A; bb=A'*bb; yy=B\bb; k=yy(1); b=yy(2);
再答: 就是这个式子X = (H.'*H)\H.'*Y 只是变量名起的不一样 只要做等式代入就可以把上面几行代码变成这一句了。请问您具体那里看不懂? X向量的长度是2,从向量中取元素这个操作就是用()实现的。matlab中计数是从1开始的。
再问: B=A'*A; bb=A'*bb; 这两句是什么意思啊?谢谢!!
再答: 好吧。在矩阵为实数的情况下 共轭操作(')等价于转置(.')。 再说就没意思了吧。。。yy=B\bb;,yy就是最终结果了,对照一下X = (H.'*H)\H.'*Y,你应该能对应上吧?至于中间变量你根本就不要管 反正代入进来都是一样的。
X = (H.'*H)\H.'*Y
是x的最小二乘估计.
现在,要估计的参数就是[k; b].每一次观测都可以表示为y = [x 1]*[k; b]. 将数据纵向排列起来,由此可以构造出Y和观测矩阵H.
再问: 最小二乘法求参数我理解,就是下面这些语句不是很理解,能帮忙解释一下吗? bb=y; B=A'*A; bb=A'*bb; yy=B\bb; k=yy(1); b=yy(2);
再答: 就是这个式子X = (H.'*H)\H.'*Y 只是变量名起的不一样 只要做等式代入就可以把上面几行代码变成这一句了。请问您具体那里看不懂? X向量的长度是2,从向量中取元素这个操作就是用()实现的。matlab中计数是从1开始的。
再问: B=A'*A; bb=A'*bb; 这两句是什么意思啊?谢谢!!
再答: 好吧。在矩阵为实数的情况下 共轭操作(')等价于转置(.')。 再说就没意思了吧。。。yy=B\bb;,yy就是最终结果了,对照一下X = (H.'*H)\H.'*Y,你应该能对应上吧?至于中间变量你根本就不要管 反正代入进来都是一样的。
以下是关于matlab中直线的最小二乘拟合,是矩阵除法的编程,(y=kx+b)
matlab中polyfit的 二次多项式拟合 是最小二乘拟合吗?
怎样输出matlab最小二乘拟合曲线的表达式
急求用matlab进行指数函数的最小二乘拟合
怎样用matlab作数据的最小二乘拟合
matlab 最小二乘拟合
请问,Matlab中使用正交多项式拟合的最小二乘算法用什么函数?
matlab中如何做非线性最小二乘拟合
matlab 最小二乘拟合曲线
matlab 最小二乘拟合问题
matlab做最小二乘拟合
Matlab拟合工具箱自定义函数中 中输入y=L./(1+a*exp(-bt))出现错误,要拟合的函数是 泊松曲线,该怎