Informatika1-2016/HF5
1. sor: | 1. sor: | ||
− | = Octave házi feladat= | + | = Octave házi feladat (3 pont) = |
<!-- | <!-- | ||
Adjunk meg <tt>octave</tt>-ban egy | Adjunk meg <tt>octave</tt>-ban egy | ||
28. sor: | 28. sor: | ||
T<tankör>_HF5_<felhasználónév>.m | T<tankör>_HF5_<felhasználónév>.m | ||
− | '''Beadási határidő: | + | '''Beadási határidő: 2016. november 24. 23:59 CET''' |
Tanács: | Tanács: |
A lap jelenlegi, 2016. november 15., 17:08-kori változata
Octave házi feladat (3 pont)
Mielőtt a beadandó házi feladat megoldásához kezdenétek, végezzétek el a következő lépéseket, melyek segítenek a feladat megoldásában!
Adjatok pozitív egész értéket egy változónak, pl.
>> n = 4
Nézzétek meg mi történik a pascal(n) és a pascal(n,-1) parancsok hatására! Állítsatok elő egy méretű mátrixot, melynek első blokkja egy Pascal-háromszög (alsó háromszögmátrix), mellette egy egységmátrix, azaz például n = 4 esetén
1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 1 2 1 0 0 0 1 0 1 3 3 1 0 0 0 1
Nevezzétek el e mátrixot P-nek. Ezután képezzetek egy n-dimenziós b vektort, melynek elemei 2-hatvány plusz 1 alakúak 20 + 1-től indulva, például esetünkben
2 3 5 9
Aki kicsit utánaszámol, láthatja, hogy a egyenletrendszer megoldható, egy megoldása a csupa 1-esből álló vektor. Határozzátok meg ennek a sortérbe eső egyetlen megoldását (mátrixosztás!). Az összes megoldáshoz meg kell még határozni a nullteret kifeszítő vektorokat. Ezt az octave a
null(P)
paranccsal megadja.
Végül a beadandó feladat: Írjatok egy függvényt, melynek egyetlen paramétere n, és amely válaszul kiírja a fenti egyenletrendszer egyetlen sortérbe eső megoldását és a nullteret generáló vektorok mátrixát abban az esetben, ha n < 8. Ha , a program csak annyit írjon ki, hogy "Túl nagy adat!". Például n = 4 esetén
1.3333e+00 1.3333e+00 1.0000e+00 3.3333e-01 6.6667e-01 3.3333e-01 4.4409e-16 3.3333e-01
-0.616696 -0.106047 -0.043625 0.021813 0.399665 -0.409452 -0.144854 -0.010906 -0.165320 0.570204 -0.172812 -0.163594 -0.067442 -0.293872 0.778499 -0.389249 0.616696 0.106047 0.043625 -0.021813 0.217031 0.515499 0.188479 -0.010906 -0.017314 0.354746 0.506146 0.163594 -0.018896 -0.082339 0.218125 0.890937
Formai követelmények:
- A megoldást egy .m kiterjesztésű szövegfájlban küldjétek el. Igyekezzetek a szövegfájlt a program értelme szerint formázni 2 szóközzel beljebb húzva a sorokat (ez nem kötelező). Például így:
function ... if ... ... else ... endif endfunction
- A fájl a feladatban kitűzött egyetlen függvény definícióját tartalmazza és semmi mást! (pl. ne legyen benne prompt sem, azaz >>)
- A fájl végén legyen egy üres sor.
- A fájl neve a következő formátumú legyen:
T<tankör>_HF5_<felhasználónév>.m
Beadási határidő: TBD
Tanács:
- A megoldas függvény belsejében minden parancsot pontosvesszővel (;) zárjunk le.
- Aki nem telepítette az octave-ot, az megoldhatja a feladatot otthonról a Putty-al, belépve a leibniz-re és ott használva az octave-ot és WinScp-vel szerkesztve a beküldendő fájlt. Teszteléshez használhatjuk az octave-ot parancssorból így:
borbely@leibniz:~$ octave T0_HF5_borbely.m