rigidtform2d:为什么不接受双类型齐次矩阵吗?

2视图(30天)
崔
2022年10月29日
编辑: 2022年10月29日
我偶然发现函数rigidtform2d为什么不接受一个3×3平矩阵类型的双?
T = -0.2102 (1.0000 - 0.0004
-0.0004 1.0000 3.3896
0 0 1.0000];% T是默认双类型
一个= rigidtform2d(单(T));%好
B = rigidtform2d (T);
错误使用rigidtform2d > parseOneInputSyntaxes
无效的变换矩阵。

错误rigidtform2d(40行)
自我= parseOneInputSyntaxes(自我,变长度输入宗量{1});
然后我测试是否接近奇异矩阵:
rcond (T)
ans =
0.0473
但是它不,这意味着双重比单身更敏感?或函数 不够健壮 吗?

接受的答案

崔
2022年10月29日
编辑: 2022年10月29日
rigidtform2d对象只存储旋转和转换信息,和上面的剪切0.0004 T矩阵中存在。
它实际上是一个鲁棒性问题,希望未来版本 提高双类型的问题 ,引起的以下功能:
约束矩阵不是在原始矩阵的浮点舍入误差,那么原始矩阵不是一个有效的子类的变换矩阵。
函数tf = matricesNearlyEqual (A, B)
% matricesNearlyEqual
% matricesNearlyEqual (A, B)返回true,如果A和B
%,在浮点舍入错误。A和B是假定
%是广场,同一个类的,这不是检查。
coder.inline (“总是”);
coder.internal.prefer_const (A, B);
t =每股收益(类(A)) ^ (3/4);
R = max(规范(A)、规范(B));
R0 = 100 *最小正浮点数(类(A)) / t;
R = max (R, R0);
tf =(规范(A - B) / R) < = t;
结束

更多的答案(0)

标签

下载188bet金宝搏


释放

R2022b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!