First off, long time reader, first time poster. Thanks in advanced for all the help this site has offered!
So the question!
I have two matrices in the form of the variables A
and b
that are inputs to my matlab function (posted below). I would like to calculate the significant figures used for the matrix inverse operation (matrix division) from the result A
, b
matrices. However, I have no idea where to start (matlab or mathmatically) to go about this approach. Help?
More context, using a square linear system (Ax=b)
and I am seeing if its singular or nonsingular and trying to find a solution(s).
% x = answer % y = 0 if no solution, 1 if nonsingular, 2 if many solutions % z = p is number of sig figs % function [ x, y, z ] = squareLinSysSolv(A, b) if det(A) == 0 % Matrix is singular and therefor many solutions x = A\b; y = 0; % Used as place holder to compile z = 5; % Used as place holder to compile elseif det(A) ~= 0 % Matrix does not equal to zero (perhaps a number very close to it or % far from it) and therefor has a unique solution. x = A\b; y = 1; % Used as place holder to compile z = 5; % Used as place holder to compile end end
Edit: To make it a bit clear, z should be some integer which approximates (ceiling or floor value) a decimal number of significant figures at which A\b
were calculated at.
Test Cases: Test/Spec sheet of what is expected. Both A
and b
are matrices and the result should be something like so.
A = 1.5000 2.3000 7.9000 6.1000 3.2000 13.0000 13.0000 21.0000 76.0000 b = 1 3 5 >> [x,y,z] = squareLinSysSolv(A,b) % the result of x = A\b x = 0.8580 3.0118 -0.9132 % determinant is not equal to zero y = 1 % Amount of sig figs/precision in calculation z = 15