+ 1

MATLAP help

Who can help me on some code i wrote but i have error in MATLAP ( easy code ) The code A=input('type your 3*3 matrix'); disp(A) answer=input('if the matrix is 3by3 type Y, otherwise type N'); while answer=='N' A=input('type your 3*3 matrix again'); answer=input('if the matrix is 3by3 type Y, otherwise type N'); end if det(A)==0; disp('your matrix is singular') else disp(inv(A)) end

4th Feb 2022, 11:13 PM
STOP
STOP - avatar
1 Answer
0
Hey bro, your code is close to fine but requires some attention, First remove semicolon in IF statement to avoid warning... Now thw second thing is that,,, when you are checking for determinant i.e. if det(A) == 0 you should keep in mind that det(A) may not be exactly zero , result may be very close to zero but not exact 0, that's why matlab will give a warning `Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 1.067522e-18.` for ex.- det(A) is 1.6653e-16, which is almost zero but MATLAB will not assume this approximation that's why det(A) == 0 will return false So to avoid this issue, use condition like if (det(A) - 0) < 0.00001 So this line will give expected results.... Final changed code is pasted below.... A=input('type your 3*3 matrix: '); disp(A) answer=input('if the matrix is 3by3 type Y, otherwise type N: '); while answer=='N' A=input('type your 3*3 matrix again: '); answer=input('if the matrix is 3by3 type Y, otherwise type N: '); end if (det(A)-0) < 0.00001 disp('your matrix is singular') else disp(inv(A)) end Thanks for asking....
5th Feb 2022, 4:30 AM
saurabh
saurabh - avatar