Warning: Matrix is singular to working precision

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?

Antworten (1)

Chunru
Chunru am 14 Nov. 2021
Bearbeitet: Chunru am 14 Nov. 2021
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]
a = 6×6
1.0000 0 0 0 -0.2500 0 0 1.0000 0 -0.2500 0 -0.2500 1.0000 0 0 0 -0.2500 0 0 -0.2500 0 1.0000 0 0 -0.2500 0 -0.2500 0 1.0000 0 0 -0.2500 0 0 0 1.0000
rank(a)
ans = 5
b=[6.25,4.45,6.8,5.5,3.87,6.45]
b = 1×6
6.2500 4.4500 6.8000 5.5000 3.8700 6.4500
c=b/a;
Warning: Matrix is singular to working precision.

1 Kommentar

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 .

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Linear Algebra finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 14 Nov. 2021

Bearbeitet:

am 14 Nov. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by