Discussion forum for exercises and homeworks

DU2 - Caste chyby a poznamky k hodnoceni

DU2 - Caste chyby a poznamky k hodnoceni

by Pučejdl Krištof -
Number of replies: 0

1) Riditelnost systemu

Ve druhem domacim ukolu jsem casto narazel na neporozumeni nebo zmateni u urcovani riditelnosti.

Pri zjistovani riditelnosti systemu pomoci matice riditelnosti zkoumame jeji HODNOST. Hodnost je rovna minimu z poctu linearne nezavislych radku a sloupcu, v Matlabu je pro jeji vypocet funkce 'rank()'. System je pak riditelny pokud ma matice riditelnosti plnou hodnost. Plna hodnost matice riditelnosti ciselne odpovida radu systemu.

Velka spousta z vas u prikladu s riditelnosti uvadela vypocet determinantu, zminovala singularitu a regularitu matic riditelnosti a to casto i presto, ze hodnost jiz byla vypocitana a nebylo potreba nic dal resit. Uvahy o determinantu a regularite maji smysl pouze u ctvercovych matic. Matice riditelnosti je ctvercova pouze tehdy, kdy system ma jediny vstup. Proto je test na determinant pri zjistovani riditelnosti pouzitelny jen v omezenem poctu pripadu a je lepsi jej vubec nepouzivat.

Nekteri z vas pak determinant a regularitu zminovali i v prikladu 4, kde ale matice riditelnosti nebyla ctvercova a uvedene vlastnosti tedy nedavaly smysl a priklad byl spatne. Proto radim, pro vypocet riditelnosti pocitejte vzdy POUZE HODNOST matice riditelnosti, vyhnete se tak zmateni a pripadnym zbytecnym chybam.

 

2) Uvadeni postupu v prikladech, kod z Matlabu

Mnohym z vas jsem v hodnoceni vytykal neuvedeni postupu, pripadne pouzitych funkci a syntaxe v Matlabu. Jeden student na to zareagoval, ze podle pokynu se v ukolu nema kod uvadet, neni li to explicitne receno. Dovolte mi uvest to na pravou miru.

Pokud mate vyreseny priklad, ve kterem je uvedeno zadani, obecny vzorec a vysledek, ne vzdy je to dostacujici. V trivialnich pripadech ano, ale pokud je vysledkem napriklad prenos v pomerne komplexnim tvaru, takove reseni zkratka nedemonstruje, jak jste vysledku dosahli. Jake jsou tedy moznosti?

  • Uvedte mezivysledek, nejakou cast postupu, nebo alespon slovni popis, jak se k vysledku dostanete (...Rovnici (xyz) implementuji a vypocitam v Matlabu s pouzitim polynomial toolboxu, vysledek upravim do tvaru...)
  • Uvedte pouzitou funkci nebo ukazku syntaxe v Matlabu, kterou jste k reseni pouzili. Dbejte na spravny komentar a formatovani takovychto priloh. Pokud uvadite pouze funkce v textu, je dobre odlisit je fontem (idealne v typewriter stylu), pokud uvadite primo kod, vyuzivejte jeho formatovane citace.

Tedy za rozumne a ospravedlnene uvedeni kodu se nepenalizuje, naopak, nekdy je to lepsi, nez nic. Idealni variantou je uvedeni pouzitych funkci, pripadne s nejakym komentarem k tomu v jakem formatu je ziskany vysledek a jak jej bylo potreba upravit k dosazeni toho, co mate ve zprave. Posledni moznosti, kterou akceptuji, ale neni preferovana, je prilozeni celeho pouziteho kodu v priloze dokumentu. Ovsem kod musi byt cisty, prehledny, okomentovany a spravne uvedeny. V jednotlivych ulohach se pak na prilohu muzete odkazovat.

Co rozhodne neni spravne a bude penalizovano:

  • Uvadet opakovane cele bloky kodu, vcetne stale dokola se opakujicich radku s inicializacemi a podobnym balastem.
  • Uvadet vystup z konzole, pripadne kod prepisovat ve formatu vystupu z konzole.
  • SCREENSHOTY (cehokoliv) !!

 

3) Formatovany vystup z konzole NENI formalni zapis

Dalsim casto se vyskytujicim neduhem je vkladani vysledku ve formatu vystupu z konzole. Toto se casto opakovalo zejmena u vypoctenych prenosovych matic. Pokud je neco matice, MUSI to byt v zavorkach, Musi to mit zarovnane radky A(!!) sloupce a musi to byt citelne. Citelnost samozrejme plati na veskery obsah ukolu. Takze nejaka cisla a polynomy pod sebou podtrzene carou, to opravdu NENI prenosova matice. Extremnim (bohuzel relativne castym) pripadem spatneho opisovani konzole je pak napriklad uvadeni vlastnich cisel ve tvaru:

+ 0.0000    +    0.1234i

Vy nejste Matlab, a mezi lidmi nula znamena nic, a je zvykem ji v takovychto mistech nepsat. Obdobne napriklad 2.0000 je proste 2 a hotovo.

 

4) Obrovske konstanty ci zlomky ve vysledcich

Posledni problem, kterym trpela mozna az tretina odevzdanych ukolu je format vysledku. Prenos, ve kterem je nejmensi koeficient v polynomu radove hodnoty 1000 a ty nejvetsi jdou az do desitek milionu, neni spravne upraveny. Takovy vysledek je potreba vhodne pokratit, takzvane normalizovat tak, aby u nejvyssi mocniny v kazdem zlomku byl koeficient 1. To je pozadovano proto, aby z vysledku bylo na prvni pohled videt, zda neni neco v neporadku.

Souvisejici vec je prehnane lpeni na uvadeni racionalnich zlomku ve vysledku namisto zaokrouhleni na desetinne cislo. Nikdo vam nebrani bez zaokrouhlovani provest cely vypocet, to je samozrejme spravne. Ale vysledek, prosim, uvadejte pri rozumnem zaokrouhleni tak, aby byl citelny a neobsahoval astronomicke zlomky.

 

Prosim, snazte se na tyto veci davat pozor, je pak skoda, kdyz za ukol se spravnymi vysledky nedostanete plny pocet jen kvuli laxnimu nebo proste nevhodnemu pristupu k formalni strance.

Pokud by mel kdokoliv z vas nejakou nejasnost, nebojte se napsat, idealne zde na forum, pokud je to obecna zalezitost, nebo primo me na email, pokud je to otazka k vasemu konkretnimu hodnoceni.