I have a point cloud from real world and I want to fit a surface on them and calculate curve of the points(!). since points are in the real world so amplitude of difference between x, y and z of points is very large and when I use the code in here I meet the below error in matlab:
Warning: Rank deficient, rank = 2, tol = 7.9630e-007.
this means that my data are bad conditioned. a few of my data are:
32512032.3900000 5401399.69000000 347.030000000000
32512033.1400000 5401399.79000000 346.920000000000
32512036.3000000 5401399.62000000 346.840000000000
32512037.3900000 5401399.95000000 346.870000000000
32512034.4800000 5401400 346.930000000000
32512035.6000000 5401400.05000000 346.950000000000
32512036.6900000 5401400.38000000 346.980000000000
32512037.9600000 5401400.30000000 346.910000000000
32512033.7600000 5401400.42000000 346.880000000000
32512034.8700000 5401400.48000000 346.960000000000
also I use the fit
formula in matlab.
sf = fit( [x, y], z, 'poly23');
and saw the same error:
Warning: Equation is badly conditioned. Remove repeated data points
or try centering and scaling.
Is a way that fit a surface or smooth curve on the this type of points?