Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 2.702756e-08.

1 view (last 30 days)
hello all
I am using pcregrigid and i am getting this warning.I fell this may detoriate my reconstruction result.
" Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 2.624234e-08.
In pcregrigid>pointToPlaneMetric (line 466)
In pcregrigid (line 253)
In Finalpointcloudstitchingwiththebust (line 27) "
This are the following code in the difffernt lines
--> In pcregrigid>pointToPlaneMetric (line 466)
line 466 X = C\b;
cx = cos(X(1));
cy = cos(X(2));
cz = cos(X(3));
sx = sin(X(1));
sy = sin(X(2));
sz = sin(X(3));
R = [cy*cz, sx*sy*cz-cx*sz, cx*sy*cz+sx*sz;
cy*sz, cx*cz+sx*sy*sz, cx*sy*sz-sx*cz;
-sy, sx*cy, cx*cy];
T = X(4:6);
---> In pcregrigid (line 253)
else % PointToPlane
line 253 [R, T] = pointToPlaneMetric(locA(inlierIndicesA, :), ...
ptCloudB.Location(inlierIndicesB, :), ptCloudB.Normal(inlierIndicesB, :));
end
--> In Finalpointcloudstitchingwiththebust (line 27)
line 27 [tform, ~, Err] = pcregrigid(moving, fixed, 'Metric','pointToPlane','Extrapolate', true);
Can anyone please help me ?
  1 Comment
Christine Tobler
Christine Tobler on 8 Apr 2020
The warning is that the matrix C is badly conditioned, so the first question would be how C is constructed and what could cause it to be badly conditioned.

Sign in to comment.

Answers (1)

Harshendra Shah
Harshendra Shah on 8 Apr 2020
Edited: Harshendra Shah on 8 Apr 2020
This warning message can occur when solving a linear system using the backslash operator (\). They indicate that the system being solved may be poorly conditioned or rank deficient; this can produce incorrect answers. In general the solutions you'll receive are correct, but if you receive these messages it's a good idea to check your results.
Problems with poor conditioning are generally a result of using double-precision arithmetic; you can find more useful information on double-precision arrays here:
Also, if you wish to ignore these warning messages, you can turn the warning indicator by typing ' warning off ' at the MATLAB command prompt. Alternatively, if you do not want to turn these warnings off entirely, you can use the command 'warning on', which will give shorter warning messages.
I hope this helps.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!