Informatika1-2016/HF5
(2 szerkesztő 2 közbeeső változata nincs mutatva) | |||
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 | ||
x = megoldas(n,c,d) | x = megoldas(n,c,d) | ||
27. 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: | ||
36. sor: | 37. sor: | ||
== Másik lehetőség == | == Másik lehetőség == | ||
− | + | --> | |
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! | 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. | Adjatok pozitív egész értéket egy változónak, pl. | ||
>> n = 4 | >> 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 | + | Nézzétek meg mi történik a pascal(n) és a pascal(n,-1) parancsok hatására! Állítsatok elő egy <math>n\times(2n)</math> 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 <math>n=4</math> esetén |
1 0 0 0 1 0 0 0 | 1 0 0 0 1 0 0 0 | ||
1 1 0 0 0 1 0 0 | 1 1 0 0 0 1 0 0 | ||
1 2 1 0 0 0 1 0 | 1 2 1 0 0 0 1 0 | ||
1 3 3 1 0 0 0 1 | 1 3 3 1 0 0 0 1 | ||
− | Nevezzétek el e mátrixot P-nek. Ezután képezzetek egy <math>n</math>-dimenziós b vektort, melynek elemei 2-hatvány plusz 1 alakúak <math>2^0+1</math>-től indulva, például esetünkben | + | Nevezzétek el e mátrixot '''P'''-nek. Ezután képezzetek egy <math>n</math>-dimenziós '''b''' vektort, melynek elemei 2-hatvány plusz 1 alakúak <math>2^0+1</math>-től indulva, például esetünkben |
2 | 2 | ||
3 | 3 | ||
55. sor: | 56. sor: | ||
paranccsal megadja. | paranccsal megadja. | ||
− | Végül a '''beadandó feladat''': Írjatok egy függvényt, melynek egyetlen paramétere <math>n</math>, é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 <math>n<8</math> | + | Végül a '''beadandó feladat''': Írjatok egy függvényt, melynek egyetlen paramétere <math>n</math>, é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 <math>n<8</math>. Ha <math>n\ge8</math>, a program csak annyit írjon ki, hogy "Túl nagy adat!". Például <math>n=4</math> esetén |
1.3333e+00 | 1.3333e+00 | ||
1.3333e+00 | 1.3333e+00 | ||
91. sor: | 92. sor: | ||
Tanács: | Tanács: | ||
− | * A <tt>megoldas</tt> függvény belsejében minden | + | * A <tt>megoldas</tt> függvény belsejében minden parancsot pontosvesszővel ('''<tt>;</tt>''') zárjunk le. |
− | * Aki nem | + | * Aki nem telepítette az octave-ot, az megoldhatja a feladatot otthonról a [[Putty_haszn%C3%A1lata|Putty]]-al, belépve a <tt>leibniz</tt>-re és ott használva az <tt>octave</tt>-ot és [[WinScp_haszn%C3%A1lata|WinScp]]-vel szerkesztve a beküldendő fájlt. Teszteléshez használhatjuk az <tt>octave</tt>-ot parancssorból így: |
− | borbely@leibniz:~$ <b>octave | + | borbely@leibniz:~$ <b>octave T0_HF5_borbely.m</b> |
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