Matlab fórum
vypis prkov nad hlavnou diagonalou - Verzia pre tlač

+- Matlab fórum (http://matlab.sk)
+-- Fórum: Matlab (/forumdisplay.php?fid=4)
+--- Fórum: Programovanie / Programming (/forumdisplay.php?fid=5)
+--- Téma: vypis prkov nad hlavnou diagonalou (/showthread.php?tid=54)



vypis prkov nad hlavnou diagonalou - feferon - 04-28-2013 14:24

Zdravim, chcel by som sa opýtať ako vypíšem v matici prvky nad hlavnou diagonalou ?

Diky


RE: vypis prkov nad hlavnou diagonalou - Larry - 05-17-2013 00:18

pouzitim funkcie triu je mozne ziskat maticu ktora bude mat ostatne prvky nulove:

Kód:
matica = [1 2 3; 4 5 6; 7 8 9]
matica =

     1     2     3
     4     5     6
     7     8     9

triu(matica)

ans =
     1     2     3
     0     5     6
     0     0     9

>> triu(matica, 1)

ans =
     0     2     3
     0     0     6
     0     0     0

alebo potom naprogramovat napr:

Kód:
matica = [1 2 3; 4 5 6; 7 8 9];
start_x = 1;
stop_y = 1;
nad_diagonalou = [];
for i = start_x: size(matica, 2)
    for j = 1 : stop_y
        nad_diagonalou = [ nad_diagonalou matica(j, i) ];
    end
    stop_y = stop_y + 1;
end
nad_diagonalou

vysledok:
Kód:
nad_diagonalou =
     1     2     5     3     6     9

pre start_x = 2;
Kód:
nad_diagonalou =
     2     3     6

atd...