Azzera filtri
Azzera filtri

Please help me in coding of multidimensional array

3 visualizzazioni (ultimi 30 giorni)
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;]

Risposta accettata

KSSV
KSSV il 27 Ott 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) = [] ;

Più risposte (2)

Roger Stafford
Roger Stafford il 27 Ott 2017
A = A([1,4,6],[1,4,6]);

Andrei Bobrov
Andrei Bobrov il 27 Ott 2017
ii = find(diag(A))
out = A(ii,ii)

Categorie

Scopri di più su Operating on Diagonal Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by