Informatika1-2017/HF6

A MathWikiből

MatLab házi feladat

(4 pont)

A feladat két MatLab függvény megírása lesz, két .m fájlt kell beküldeni, a fájlok neve kezdődjön így: <tankör>_HF<a feladat száma>_<felhasználói név>

Határidő 2017. november 19., 23:59:59

Sakktábla

Írjunk sakktabla nevű függvényt, aminek egyetlen argumentuma egy pozitív egész szám és az eredménye egy akkora sakktábla (négyzetes +- 1 mátrix, mint a gyakorlaton).

Eliminálás

Írjunk eliminal nevű függvényt, aminek négy argumentuma van

  • egy mátrix
  • három pozitív szám: i, j, k

A három pozitív szám két sor index és egy oszlop index. A függvény eredménye egy olyan mátrix, mint az első argumentum, de az i-edik sor k-adik elemével nullázzuk ki a j-edik sor k-adik elemét.

Például

 M =
    1     2     3
    4     5     6
    7     8     9
 >> eliminal(M, 1, 2, 1)
 ans =
    1     2     3
    0    -3    -6
    7     8     9
 >> eliminal(eliminal(M, 1, 2, 1), 1, 3, 1)
 ans =
    1     2     3
    0    -3    -6
    0    -6   -12
 >> eliminal(eliminal(eliminal(M, 1, 2, 1), 1, 3, 1), 2, 3, 2)
 ans =
    1     2     3
    0     1     2
    0     0     0
 >> eliminal(eliminal(eliminal(eliminal(M, 1, 2, 1), 1, 3, 1), 2, 3, 2), 3, 2, 3)
 ans =
    1     2     3
    0     1     2
    0     0     0
 >> eliminal(eliminal(eliminal(eliminal(M, 1, 2, 1), 1, 3, 1), 2, 3, 2), 2, 1, 2)
 ans =
    1     0    -1
    0     1     2
    0     0     0
  • Ha az i-edik sor k-adik eleme nulla, ugyanaz a mátrix legyen az eredmény, mint ami a bemenet.
  • Ha nem nulla, akkor
    • Osszuk le az i-edik sort annyival, hogy az i-edik sor k-adik elem 1 legyen
    • A j-edik sorból vonjuk ki az i-edik sor annyiszorosát, hogy a j-edik sor k-adik eleme 0 legyen
Személyes eszközök