matlab三维曲面进行平面拟合,利用最小二乘法

下面是x,y,z三个坐标轴的数据(是独立的三组数据),现根据这些数据已经可以画出三维曲面图,但是现在想进行平面拟合,就是下面的拟合图的效果,不知道如何操作,请指教,谢谢!x=[11.4,11.4,11.4,11.4;13.1,13.1,13.1,13.1;14.8,14.8,14.8,14.8;16.5,16.5,16.5,16.5;18.2,18.2,18.2,18.2];y=[0.84,0.72,0.61,0.45;0.68,0.49,0.44,0.41;0.57,0.43,0.40,0.38;0.42,0.37,0.33,0.17;0.39,0.30,0.24,0.16];z=[1.62,2.51,2.63,2.64;1.93,2.58,3.01,3.23;2.45,2.83,3.27,3.31;2.60,3.27,3.33,3.45;2.93,3.74,4.09,4.35];

可以直接使用matlab的曲面拟合工具箱,但是平面拟合的效果一般

1、在命令窗口输入待拟合的数据

>> x=[11.4,11.4,11.4,11.4;13.1,13.1,13.1,13.1;14.8,14.8,14.8,14.8;16.5,16.5,16.5,16.5;18.2,18.2,18.2,18.2];
y=[0.84,0.72,0.61,0.45;0.68,0.49,0.44,0.41;0.57,0.43,0.40,0.38;0.42,0.37,0.33,0.17;0.39,0.30,0.24,0.16];
z=[1.62,2.51,2.63,2.64;1.93,2.58,3.01,3.23;2.45,2.83,3.27,3.31;2.60,3.27,3.33,3.45;2.93,3.74,4.09,4.35];

2、输入sftool命令打开曲面拟合工具箱,然后依次选择x,y,z数据

>> sftool

3、因为你要求平面拟合,所以选择一次多项式类型

4、左侧面板即为拟合结果

其中,R-square表示拟合度,越接近于1表示拟合效果越好,此时仅为0.8241,所以效果并不好。

追问

太巧了 正好我也找到了这个工具箱 谢谢你啊 不过我还是想自己编写下代码 能看到matlab最小二乘法的源程序吗

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-04-08

直接使用matlab的曲面拟合工具箱

输入sftool命令打开曲面拟合工具箱,然后依次选择x,y,z数据

因为你要求平面拟合,所以选择一次多项式类型

左侧面板即为拟合结果

其中,R-square表示拟合度,越接近于1表示拟合效果越好,此时仅为0.8241,所以效果并不好。

本回答被网友采纳
相似回答