Seminář 9 KMI/PVM Programování v MATLABu

Pokročilá témata

Cvičná zápočtová písemka

Každý příklad je za 2 body. Celkově můžete získat 10 bodů. Na vyřešení máte 60 minut. Všechny soubory zabalte do souboru zip a odevzdejte prostřednictvím webového formuláře jako Písemku 0. Zkontrolujte zda byl soubor skutečně odevzdán.

  1. Napište funkci generuj(m,n), které vygeneruje nulovou matici o zadaných rozměrech a na průsečíky každého třetího řádku a čtvrtého sloupce vloží 1. Příklad výstupu funkce pro generuj(10,10) následuje.

    M =
    
         1     0     0     1     0     0     1     0     0     1
         0     0     0     0     0     0     0     0     0     0
         1     0     0     1     0     0     1     0     0     1
         0     0     0     0     0     0     0     0     0     0
         1     0     0     1     0     0     1     0     0     1
         0     0     0     0     0     0     0     0     0     0
         1     0     0     1     0     0     1     0     0     1
         0     0     0     0     0     0     0     0     0     0
         1     0     0     1     0     0     1     0     0     1
         0     0     0     0     0     0     0     0     0     0

  2. Vektorizujte následující kód:

    m = 100;
    A=rand(m, 1);
    B=rand(m, 1);
    for i=1:m
       if B(i)>0.5
          C(i) = A(i)^2;
       else
          C(i) = exp(B(i));
       end
    end

  3. Načtěte data seamount (dostupná ve všech verzích MATLABu) a vygenerujte následující graf. Druhý graf obsahuje záporné hodnoty z.

  4. Napište funkci ret = nahrad(soubor, co, cim), která načte zadaný textový soubor a nahradí každý výskyt řetezce co řetězcem cim. Výsledný řetězec je vrácen v proměnné ret.

  5. Napište funkci rotace(obrazek), která otočí obrazek o 90° vlevo, bez použití vestavěné funkce rotate. Jako vstupní obrázek můžete použít například obrázek Lenny. Ukázka výstupu následuje.


© Martin Trnečka