如何 用matlab编写最小二乘法的问题,有些地方总不对,我想拟合方程:y=ax+b

对初始数据集X中所有点应用最小二乘法拟合直线y(m)=f(x),m=1,其中x为一列数,拟合方程:y=ax+b

可以用polyfit(x,y,n) n表示拟合最高的次数
例如拟合方程:y=ax+ b 就可先输入x,y、两组数据,然后polyfit(x,y,1) 即可
或者MATLAB自带曲线拟合工具箱,可以在命令窗口输入 cftool
另外拟合曲面,如z=f(x,y)则用sftool追问

我想问下,那个最小二乘法拟合直线y=ax+b,如果只有x的值的话怎么拟合?我看到的方法都是知道x和y的值然后用polyfit(x,y,1)来做的

追答

只知道x,那就必须知道函数了啊,不然你一组数据肯定是拟合不出来的啊
想想都知道啊

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-04
最小二乘法可以最终化归成解一个矩阵方程的问题,你可以看看这方面的数学书。
另外我想说的是,MATLAB自带曲线拟合工具箱,可以在命令窗口输入 cftool 打开,可以学着使用,很简单的,都是图形界面,很方便。追问

我想问下,那个最小二乘法拟合直线y=ax+b,如果只有x的值的话怎么拟合?我看到的方法都是知道x和y的值然后用polyfit(x,y,1)来做的

追答

只有x值那怎么拟合,函数至少有一个自变量和一个因变量对吧~

相似回答