Warning: Matrix is singular to working precision
3 次查看(过去 30 天)
显示 更早的评论
a=[1, 0, 0, 0, -0.25, 0; 0, 1, 0, -0.25, 0, -0.25; 1, 0, 0, 0, -0.25, 0; 0, -0.25 0, 1, 0, 0; -0.25, 0, -0.25, 0, 1, 0; 0,-0.25, 0, 0, 0, 1];
b=[6.25,4.45,6.8,5.5,3.87,6.45];
c=b/a;
Warning: Matrix is singular to working precision.
i dont know why?
0 个评论
回答(1 个)
Chunru
2021-11-14
编辑:Chunru
2021-11-14
Make sure your matrix "a" is full rank (rank(a) should be 6 instead of 5).
a=[1, 0, 0, 0, -0.25, 0; 0, 1, 0, -0.25, 0, -0.25; 1, 0, 0, 0, -0.25, 0; 0, -0.25 0, 1, 0, 0; -0.25, 0, -0.25, 0, 1, 0; 0,-0.25, 0, 0, 0, 1]
rank(a)
b=[6.25,4.45,6.8,5.5,3.87,6.45]
c=b/a;
1 个评论
Walter Roberson
2021-11-14
The important point here is the fact that a has rank 5, so the matrix is singular.
Notice that your first and third row are the same. Any matrix which has identical rows will be singular .
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Multidimensional Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!