4. házi feladat
A MathWikiből
(Változatok közti eltérés)
(egy szerkesztő 7 közbeeső változata nincs mutatva) | |||
1. sor: | 1. sor: | ||
Készítsünk egy Vector nevű osztályt, ami n dimenziós valós vektorok reprezentálására alkalmas. Az osztálynak legyen egy lista | Készítsünk egy Vector nevű osztályt, ami n dimenziós valós vektorok reprezentálására alkalmas. Az osztálynak legyen egy lista | ||
− | tagváltozója, ami a vektor kordinátáit tartalmazza. A | + | tagváltozója (kord), ami a vektor kordinátáit tartalmazza. A listának az osztály __init__ függvényében adjunk értéket. |
Valósítsuk meg az osztály következő műveleteit: | Valósítsuk meg az osztály következő műveleteit: | ||
− | + | * __init__: adjunk értéket a kord tagváltozónak. | |
* norma: térjen vissza a vektor hosszával. | * norma: térjen vissza a vektor hosszával. | ||
* getDim: térjen vissza a vektor dimenziójával. | * getDim: térjen vissza a vektor dimenziójával. | ||
* scalar: térjen vissza két vektor skaláris szorzatával. | * scalar: térjen vissza két vektor skaláris szorzatával. | ||
+ | * cov: térjen vissza a vektorokkal egyirányú egységvektorok skaláris szorzatával. | ||
+ | (ez így 6 pont) | ||
+ | * isCollinear: térjen vissza True-val, ha a paraméter vektorok kollineárisak, egyébként False-szal. | ||
+ | +2 pont | ||
Példa használatra:<br> | Példa használatra:<br> | ||
>>> v = Vector([1.0, 2.5, 3.0])<br> | >>> v = Vector([1.0, 2.5, 3.0])<br> | ||
− | >>> print v. | + | >>> print v.kord # a kordináta lista kiíratása<br> |
[1.0, 2.5, 3.0]<br> | [1.0, 2.5, 3.0]<br> | ||
>>> v.norm()<br> | >>> v.norm()<br> | ||
17. sor: | 21. sor: | ||
>>> v2 = Vector([-1.0, 0.0, 1.0])<br> | >>> v2 = Vector([-1.0, 0.0, 1.0])<br> | ||
>>> v.scalar(v2)<br> | >>> v.scalar(v2)<br> | ||
− | 2.0 | + | 2.0<br> |
+ | >>> v.cov(v2)<br> | ||
+ | 0.350823207723<br> | ||
+ | >>> v.isCollinear(v2)<br> | ||
+ | False | ||
+ | |||
+ | A kollinearitás tesztelésére [http://info.ilab.sztaki.hu/~kisstom/info2_2011/4het/hazi itt] találtok még tesztkódot és kimenetet. | ||
+ | |||
+ | Határidő:<br> | ||
+ | március 15. éjfél |
A lap jelenlegi, 2011. március 15., 22:00-kori változata
Készítsünk egy Vector nevű osztályt, ami n dimenziós valós vektorok reprezentálására alkalmas. Az osztálynak legyen egy lista tagváltozója (kord), ami a vektor kordinátáit tartalmazza. A listának az osztály __init__ függvényében adjunk értéket. Valósítsuk meg az osztály következő műveleteit:
- __init__: adjunk értéket a kord tagváltozónak.
- norma: térjen vissza a vektor hosszával.
- getDim: térjen vissza a vektor dimenziójával.
- scalar: térjen vissza két vektor skaláris szorzatával.
- cov: térjen vissza a vektorokkal egyirányú egységvektorok skaláris szorzatával.
(ez így 6 pont)
- isCollinear: térjen vissza True-val, ha a paraméter vektorok kollineárisak, egyébként False-szal.
+2 pont
Példa használatra:
>>> v = Vector([1.0, 2.5, 3.0])
>>> print v.kord # a kordináta lista kiíratása
[1.0, 2.5, 3.0]
>>> v.norm()
4.0311288741492746
>>> v.getDim()
3
>>> v2 = Vector([-1.0, 0.0, 1.0])
>>> v.scalar(v2)
2.0
>>> v.cov(v2)
0.350823207723
>>> v.isCollinear(v2)
False
A kollinearitás tesztelésére itt találtok még tesztkódot és kimenetet.
Határidő:
március 15. éjfél