Informatika1-2019/HF6
A MathWikiből
Tartalomjegyzék |
MatLab házi feladat
(6 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 legyen ugyan az, mint a függvények neve.
Mágikus mátrix (3 pont)
Írjunk magicmatrix nevű függvényt, aminek két argumentuma van, két pozitív egész szán: n és m.
Eredménye egy
-es mátrix legyen, amiben oldalra kettő, felfele egy mintázatban követik egymást az egyesek, minden harmadik sorból indulva, mindenhol máshol 0-k legyenek.
Példa:
>> magicmatrix(12,10) 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0
Eliminálás (3 pont)
Í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
Határidő
2019. december 8., 23:59:59