P íklady k druhému testu - Matlab 1. dubna 2014 Instrukce: Projd te si v²echny p íklady. Kaºdý p íklad se snaºte pochopit. Pak vymyslete a naprogramujte p íklad podobný. Tím se ujistíte, ºe p íkladu rozumíte. Dal²í p íklady najdete na stránkách Ivana Nagye. U ivo: Generování náhodných ísel s rovnom rným rozd lením od A do B. Generování náhodných ísel s normovaným normálním rozd lením. Kreslení graf pomocí plot, histplot, bar. Kreslení více funkcí do jednoho grafu. Titulky ke graf m a popisy os. Práce s ádky a sloupci matic. Mazání ádk a sloupc matic a poloºek vektor. Generování náhodných ísel s rovnom rným rozd lením od A do B Vygenerujte deset tisíc ísel s rovnom rným rozd lením mezi 5 a 10. Vykreslete histogram t chto ísel s 30 sloupci. Otev u si editor! X= rand (1,10000) // 1 radek, 10000 sloupcu, cisla 0...1 X=X *5 //0...5 X=X +5 //5...10 histplot (30, X) //30 sloupcu 1
Generování náhodných ísel s normovaným normálním rozd lením Vygenerujte deset tisíc ísel s normovaným normálním rozd lením. Vykreslete histogram t chto ísel s 30 sloupci. Otev u si editor! X= rand (1,10000," normal ") // vsimnete si " normal " pro norm.= Gaussovo r. histplot (30, X) //30 sloupcu 2
Titulky ke graf m a popisky os Vygenerujte graf funkce y = 1 x. 2 Hodnoty x volte v rozsahu 1 aº 5 s krokem 0,01. Graf pojmenujte Graf pokusný. Na osu x dejte popisek ƒas a na osu y Pozornost. X =1:0.01:5 Y =1./ X.^2 // Vsimnete si tecek a mezery!!!!!!! plot (X,Y) title (" Graf pokusný ") // Titulek xlabel (" ƒas ") // Popisky os ylabel (" Pozornost ") Sloupcový graf - bar Vygenerujte sloupcový graf funkce y = 1 x 2. Hodnoty x volte: 1, 2, 3, 4, 5. X =[1,2,3,4,5] Y =1./ X.^2 // Vsimnete si tecek a mezery!!!!!!! 3
bar ( X, Y) // Vykresleni sloupcoveho grafu // X urcuje pozici sloupcu // Muze byt sloupcove i radkove Vygenerujte sloupcový graf pro dv funkce: První je dána rovnicí: y = x 2. Hodnoty x volte: -3, -2, -1, 0, 1, 2, 3. Druhá je vygenerována náhodn. Hodnoty mají rovnom rné rozd lení mezi 8 a 10. //Sedm hodnot p r v n i funkce X= 3:3 Y=X.^2 // Tecka!!! //Sedm hodnot druhe funkce Z=rand ( 1, 7 ) / / 0...... 1 Z=Z 2 / / 0...... 2 Z=Z+8 / / 8...... 1 0 Spojena =[Y; Z ] // Pozor! Spojena=Spojena ' // Pozor! bar ( Spojena ) // V y k r e s l e n i sloupcoveho g r a f u * V²echny veli iny, které chci zobrazit, dám do jedné matice POD sebe. 4
Pokud dám místo st edníku árku, dostanu místo grafu 7 2 graf 14 1: ** Pokud neud lám transpozici, dostanu místo grafu 7 2 graf 2 7: *** Pokud neuvedu X, automaticky se bere 1, 2, 3,... 5
Nakreslete do jednoho obrázku t i sloupcové grafy: První graf je dán funkcí y = 1 x. Hodnoty x volte: 1, 2, 3, 4, 5, 6, 7. 2 Druhý graf zobrazí sedm náhodn generovaných hodnot s normovaným normálním rozd lením. T etí graf zobrazí sedm náhodn generovaných hodnot s rovnom rným rozd lením mezi 3 a 5. X =1:7 Y =1./ X.^2 Z= rand (1,7," normal ") T= rand (1,7) T=T *2 T=T +3 Spojena =[ Y;Z;T] Spojena = Spojena ' bar ( Spojena ) Více graf v jednom obrázku Vygenerujte deset tisíc ísel s normovaným normálním rozd lením. Vykreslete histogram t chto ísel s 30 sloupci. Do téhoº obrázku vykreslete erven funkci: y = 1 2π e x2 2. Hodnoty x volte od -4 do 4 s krokem 0,01. 6
// Nahodna cisla NC = rand (1,10000," normal ") // vsimnete si " normal " // Funkce X = -4:0.01:4 Y =1/ sqrt (2*% pi )* exp ( -0.5* X.^2) // Vsimnete si : // sqrt - odmocnina // exp - prirozena exponenciela // cislo pi = % pi // Tecka u druhe mocniny!!! histplot (30, NC ) //30 sloupcu plot (X,Y,'r ') Nakreslete do jednoho obrázku dva grafy: Sloupcovy graf pro y = x 2. Hodnoty x volte: 1, 2, 3, 4, 5, 6, 7. Graf téºe funkce y = x 2. Volte ervenou barvu. Hodnoty x volte v rozsahu 0 aº 8 s krokem 0,01. // Prvni funkce X =1:7 7
Y=X.^2 // Druha funkce x =0:0.01:8 y=x.^2 // Vykresleni bar (Y) plot (x,y," r ") Práce s maticemi Vezm me matici A = 3 2 3 3 1 2 3 0 1 Nejprve ji umocn te na t etí, pak její poloºky umocn te na druhou.. Pak zm te po adí sloupc tak, aby bylo: t etí sloupec, první sloupec, druhý sloupec. Na konec p idejte je²t jednou první sloupec. Smaºte druhý ádek. Matici transponujte a vykreslete do sloupcového grafu. A =[3,2,3;3,1,2;3,0,1] A = A ^3 // Nejprve ji umocnete na treti A = A.^2 // pak jeji polozky umocnete na druhou. 8
A = A (:,[3,1,2]) // treti sloupec, prvni sloupec, druhy sloupec A =[ A, A (:,1)] // Na konec pridejte jeste jednou prvni sloupec A (2,:)=[] // Smazte druhy radek A =A ' // Matici transponujte bar ( A) // a vykreslete do sloupcoveho grafu. Vezm me matici A = 2 2 3 2 1 2. 3 0 1 Vytvo te matici B, ktará bude mít stejné sloupce jako A, ale v po adí: 3, 1, 2, 3, 2, 1 sloupec. Tedy celkem ²est sloupc. Umocn te v²echny poloºky B na druhou. Tím získáte matici C. Vynásobte transponovanou matici C s maticí C v tomto po adí. Tím získáte matici D. Smaºte druhý, pátý a ²estý ádek matice D. Matici D transponujte a vykreslete do sloupcového grafu. A =[2,2,3;2,1,2;3,0,1] B=A (:,[3,1,2,3,2,1]) // v poradi : 3, 1, 2, 3, 2, 1 sloupec C = B.^2 // Umocnete vsechny polozky na druhou D =C '* C // Vynasobte transponovanou matici C s maticí C D ([2,5,6],:)=[] // Smazte druhy, paty a sesty radek matice D D =D ' // Matici D transponujte bar ( D) // a vykreslete do sloupcoveho grafu. 9
Vygenerujte 20 000 náhodných ísel s rovnom rným rozd lením od 7 do 10. Umocn te tato ísla na t etí. Smaºte ísla men²í neº 500. Vykreslete histogram zbylých ísel. X= rand (1,20000) //0...1 X=X *3 //0...3 X=X +7 //7...10 Y = X.^3 // umocnete tato cisla na treti for N =20000: -1:1 // Pozor!!! * if Y(N ) <500 then Y(N )=[] end end histplot (20, Y) * Pozor! Vektor musíme probíhat od konce, protoºe se pr b ºn zkracuje! Pokud bychom probíhali od 1 do 20 000, tak poslední poloºky by uº dávno neexistovaly a program by ohlásil chybu. Také pozor na krok -1! 10
11