Clear Filters
Clear Filters

Please help me in coding of multidimensional array

3 views (last 30 days)
Hi,
I will like to run the following code,
A =
[1 2 3 4 5 6;
4 0 6 -1 2 4;
-2 4 0 -10 11 56;
0 -10 -25 28 45 52;
-8 -6 0 -15 0 28;
-7 -28 -45 0 -75 52;]
In the above matrix, if the diagonal term is zero then that row and column should be deleted and it gives the final matrix as
A =
[1 4 6;
0 28 52;
-7 0 52;]

Accepted Answer

KSSV
KSSV on 27 Oct 2017
A =[1 2 3 4 5 6;
4 0 6 -1 2 4;
-2 4 0 -10 11 56;
0 -10 -25 28 45 52;
-8 -6 0 -15 0 28;
-7 -28 -45 0 -75 52;]
d = diag(A) ;
[i,j] = find(d==0) ;
A(i,:) = [] ;A(:,i) = [] ;

More Answers (2)

Roger Stafford
Roger Stafford on 27 Oct 2017
A = A([1,4,6],[1,4,6]);

Andrei Bobrov
Andrei Bobrov on 27 Oct 2017
ii = find(diag(A))
out = A(ii,ii)

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!