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

1 回表示 (過去 30 日間)
pankti Patel
pankti Patel 2020 年 4 月 5 日
コメント済み: Christine Tobler 2020 年 4 月 8 日
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 件のコメント
Christine Tobler
Christine Tobler 2020 年 4 月 8 日
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.

サインインしてコメントする。

回答 (1 件)

Harshendra Shah
Harshendra Shah 2020 年 4 月 8 日
編集済み: Harshendra Shah 2020 年 4 月 8 日
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.

カテゴリ

Help Center および File ExchangeBoundary Conditions についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by