用matlab拟合三维(空间曲线)问题!怎么拟合?
这是我的原始数据(第一列代表x,第二列Y,第三列Z)-33.0317-35.9686-70.5338-33.0271-35.6812-71.0796-32.8176-35...
这是我的原始数据(第一列代表x,第二列Y,第三列Z) -33.0317 -35.9686 -70.5338 -33.0271 -35.6812 -71.0796 -32.8176 -35.83 -71.1234 -33.3516 -35.6733 -71.4932 -34.2977 -35.8102 -70.9012 -34.1392 -35.6953 -71.9656 -33.916 -35.6095 -72.2729 -32.7716 -35.5288 -73.1512 -31.688 -34.1263 -74.9844 -31.9306 -34.2359 -75.1438 -32.4395 -34.1163 -75.416 -30.8313 -33.5904 -76.7845 -31.098 -33.216 -77.0803 -30.2349 -33.1367 -77.4737 -29.5345 -32.989 -78.1356 -29.267 -33.0869 -78.1885 -28.7968 -32.6254 -78.9841 -28.1799 -32.352 -79.1206 -27.9591 -33.2284 -78.9095 -27.7829 -33.2724 -78.85 -27.4038 -33.4081 -78.8644 -27.1741 -33.1115 -79.0987 -27.2728 -33.1393 -78.8603 -25.988 -33.5436 -78.0758 -25.9058 -33.5699 -78.0834 -26.0604 -33.5723 -77.9974 -25.8761 -33.7916 -76.9857 -26.1381 -34.0254 -76.4 -25.5852 -34.5521 -74.054 -25.7968 -34.6027 -73.7174
展开
展开全部
如何用matlab拟合三维(空间曲线)函数方程?解决思路:
1、首先可以用plot3函数,绘制出数据流的趋势,分析数据流是属于线性函数还是非线性函数
2、如是多项式线性函数,可以用regress等函数求解;如是非线性函数,可以用lsqcurvefit等函数求解
根据上述思路,分析题主给出的【x,y,z】数据流,判断该数据流,可以用多项式函数来逼近,即
z=f(x,y) = a0 + a1x + a2y + a3x^2 + a4xy + a5y^2
其求解过程如下:
3、创建X数据向量,即
X=[ones(length(x),1) x y x.^2 x.*y y.^2];
4、创建Y数据向量,即
Y=z;
5、使用regress函数,求出a0 、 a1、a2、 a3、 a4、 a5系数,即
[a,bint,r,rint,stats] = regress(Y,X)
6、显示数据拟合的统计量,即
决定系数 R^2(=stats(1))
F统计量:F(=stats(2))
概率值:p(=stats(3))
7、完善代码,运行可以得到结果。
1、首先可以用plot3函数,绘制出数据流的趋势,分析数据流是属于线性函数还是非线性函数
2、如是多项式线性函数,可以用regress等函数求解;如是非线性函数,可以用lsqcurvefit等函数求解
根据上述思路,分析题主给出的【x,y,z】数据流,判断该数据流,可以用多项式函数来逼近,即
z=f(x,y) = a0 + a1x + a2y + a3x^2 + a4xy + a5y^2
其求解过程如下:
3、创建X数据向量,即
X=[ones(length(x),1) x y x.^2 x.*y y.^2];
4、创建Y数据向量,即
Y=z;
5、使用regress函数,求出a0 、 a1、a2、 a3、 a4、 a5系数,即
[a,bint,r,rint,stats] = regress(Y,X)
6、显示数据拟合的统计量,即
决定系数 R^2(=stats(1))
F统计量:F(=stats(2))
概率值:p(=stats(3))
7、完善代码,运行可以得到结果。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询