matlab三维曲面进行平面拟合,利用最小二乘法
下面是x,y,z三个坐标轴的数据(是独立的三组数据),现根据这些数据已经可以画出三维曲面图,但是现在想进行平面拟合,就是下面的拟合图的效果,不知道如何操作,请指教,谢谢!...
下面是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];
展开
2个回答
展开全部
可以直接使用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最小二乘法的源程序吗
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询