用matlab拟合三维(空间曲线)问题!怎么拟合?

这是我的原始数据(第一列代表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
把我收据三个三个分组了我晕,没组第一个为x,第二个为Y 第三个为z

第一步:输入x,y,z对应数值,十组以上,以保证拟合的精度
第二步:用polt3(x,y,z)函数,绘出三维曲线
第三步:利用你熟悉的三维曲线方程,判断其三维曲线的拟合函数
第四步:用inline()函数,自定义拟合函数
第五步:初定x,y的初值()
第六步:用nlinfit()函数或lsqcurvefit函数,拟合出方程的系数
第七步:用相关系数函数,求出相关系数R^2,当R^2比较接近1时,这说明定义的拟合函数是正确的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-21
你应该知道公式的形式,然后用最优算法求系数追问

我现在离散点画出来的图是这样的,我想把它弄成一条平滑的曲线,应该用到哪些功能函数?

追答

不知道你搞的什么东西,如果能推出公式,仅是一些常数不知道,用优化算法可求出这些常数。

如果没有公式,参考Matlab的曲面插值和拟合,这个在百度文库有资料,自己找来看一看。
再多我也不熟悉了,都是遇到现找资料