You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Skriv en funksjon trizero som tar inn en tabell A med like mange rader som kolonner og et flagg (logisk variabel) upper. Hvis upper == true skal alle elementene over hoveddiagonalen nullstilles og hvis upper == false skal alle elementene under hoveddiagonalen nullstilles. Resten av elementene skal beholde sin opprinnelige verdi. Hele tabellen skal returneres etter nullstilling av de angitte elementer. Returner en tom tabell hvis antall rader ikke er lik antall kolonner i inngangstabellen A. Se også figur 1.

Videoforklaring (16:18)

Del 1 (5:32)Del 2 (10:46)

Løsningsforslag

trizero.m
function retur = trizero(A, upper)
    if size(A, 1) ~= size(A, 2)
        retur = [];
        return;
    end
    N = size(A, 1);
    for i = 1:N-1
        if upper
            A(i, i+1:N) = 0;
        else
            A(i+1:N, i) = 0;
        end
    end
    retur = A;
end
  • No labels