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) |
---|
Widget Connector |
---|
url | https://www.youtube.com/watch?v=xU0AxvjYqKA |
---|
|
| Widget Connector |
---|
url | https://www.youtube.com/watch?v=FEDOAiwZO6o |
---|
|
|
Introduksjon av oppgaven, oppdeling i mindre biter, og løsning av det første, enkleste tilfellet. | Løsning av den vanskeligste delen av oppgaven. |
Løsningsforslag
Expand |
---|
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
|
Code Block |
---|
| 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 |
|