Please help me in coding of multidimensional array

3 次查看(过去 30 天)
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;]

采纳的回答

KSSV
KSSV 2017-10-27
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) = [] ;

更多回答(2 个)

Roger Stafford
Roger Stafford 2017-10-27
A = A([1,4,6],[1,4,6]);

Andrei Bobrov
Andrei Bobrov 2017-10-27
ii = find(diag(A))
out = A(ii,ii)

类别

Help CenterFile Exchange 中查找有关 Operating on Diagonal Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by