incorrect result in solving system using MATLAB ?
Mostrar comentarios más antiguos
I am trynig to solve the following system (mat=coefficient matrix,B=output matrix)
mat =
1 2 6
2 5 14
5 7 24
B=
0
0
0
the expected result is not zeros for sure because this system is linear dependent . And I used mat/B and linsolve(mat,B).However , I have got the answer
ans=
0
0
0
and this warning
Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND =
1.009294e-18.
could any one help me why I got this result and what I should to get the correct answer?
Respuesta aceptada
Más respuestas (2)
Steven Lord
el 14 de Nov. de 2017
0 votos
That answer is one solution to your system of equations. It is not the only solution to that system.
If you add x and any linear combination of columns from the nullspace of your matrix that will be another solution to your system. Take a look at the null function for more information.
Walter Roberson
el 14 de Nov. de 2017
Editada: Walter Roberson
el 14 de Nov. de 2017
0 votos
rank(mat) is 2 because the third column is twice the sum of the other two columns. You cannot use the \ operator with singular matrix.
If the b matrix was not all zero then pinv(mat)*b might work, but since it is all 0 the result is going to be all 0.
With the all-zero b, you are effectively looking null spaces, for which you should look at null(mat)
2 comentarios
Eliza
el 14 de Nov. de 2017
Walter Roberson
el 14 de Nov. de 2017
11 * [1 2 6] - 3 * [2 5 14] = [5 7 24] . Therefore the last row does not add any new information to the matrix and the rank is 2.
"and if I get result rather than zeros this means it is Linear dependent"
No, it would mean that they were linearly independent
Categorías
Más información sobre Linear Algebra en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!