Metoda Rayleighova podílu
Transkript
Západočeská univerzita v Plzni Fakulta aplikovaných věd Metoda Rayleighova podílu Semestrální práce z předmětu MATL Adamec Miroslav [email protected] Plzeň 2004 1 Zadání V zadání jsme měli splnit tyto body: • Vytvořené funkce budou obsahovat nápovědu • Funkce budou realizovány s proměnným počtem parametrů • Bude ošetřeno zadání chybného počtu parametrů a chybné zadání jejich hodnot • Vstupní data bude možno zadávat také ze souboru, pokud bude jeho jméno zadáno jako parametr funkce • Výstup bude možno zapsat do souboru, pokud bude jeho jméno zadáno jako jeden z parametrů funkce • Pokud nebude funkce přiřazena proměnné, pak se vypočtené hodnoty zobrazí graficky • K celé práci bude vypracován referát • Povinná hlavička hlavní funkce: function varargout = jmeno(varargin) Danou funkci jsme si pak měli sami vymyslet. Já si vybral výpočet dominantního vlastního čísla pomocí metody Raleighova podílu z matice A. 1.1 Hlavička hlavního programu RALEY(e,n,infile,outfile); % e.........epsilon (zastavovaci podminka) % n.........rad matice A (pri nacteni ze souboru max rad 10) % infile....vstupni soubor pro nacteni matice A (nepovinny parametr) % outfile...vystupni soubor pro zapis vysledku (nepovinny parametr) % % [A,l]=RALEY(e,n,infile,outfile); % Funkce vrati matici A a jeji dominantni cislo l % Pokud je psana funkce bez vystupnich promenych zobrazi se vysledek % graficky 2 Popis metody Raleighova podílu Předpoklady 1. A má n-lineárně nezávislých vektroů 2. jediné dominantní vlastní číslo 3. vlastní čísla lze seřadit |λ1 | ≥ |λ2 | ≥ |λ3 | . . . |λn | 4. A je symetrická (reálná) Potom musí být vlastní vektory ortonormální, tj. (viT vj = 0 pro i 6= j a viT vi = 1) 2 Po odvození dostáváme: T T y (k) Ay (k) y (k) y (k+1) λ1 = lim = lim T T k→∞ y (k) y k k→∞ y (k) y (k) Poznámka: Tk k konvergují k nule (pro k → ∞) zhruba dvakrát rychleji než k ⇒ metoda Raleighova podílu bude rychlejší než mocninná metoda. Příklad: Metodou Raleighova podílu určete dominantní vlastní číslo matice A, kde 1 1 0 A = 1 1 1 y (0) = [1; 1; 1]T . 0 1 1 Řešení: 3 (1) y (1) = [2; 3; 2]T λ1 = y (2) = [5; 7; 5]T y (3) = [12; 17; 12]T λ1 = (3) λ1 = (2) T y (0) y (1) ≈ 37 ≈ 2, 3333 T y (0) y (0) 41 ≈ 2, 4117 17 60+119+60 = 239 ≈ 2, 41417 25+49+25 99 Popis programu K programu jsou potřeba následující soubory: raley.m hlavní program nacti A.m funkce pro ruční načtení matice A zapis vyst.m funkce pro výstup do souboru data.dat vstupní soubor, pokud se nenačítá ze souboru není potřeba vyst.dat výstupní soubor, lze napsat i jiný název souboru, používá se při výstupu do souboru Program se spustí po příkazu RALEY(e,n,infile,outfile). Raley je název hlavní funkce. e(epsilon) je zastavovací podmínka metody (např.0, 001). n slouží k určení řádu matice A. Při ručním vstupu z klávesnice není řád matice omezen, při načtení ze souboru sem stupeň omezil na maximální hodnotu 10. infile je nepovinný parametr. Je určen k načtení ze souboru (zadává se název vstupního souboru). Pokud parametr vynecháme, matici A musíme načíst ručně. Vstupní soubor by měl obsahovat matici A outfile je parametr pro výstup do souboru (opět se zadává název výstupnho souboru). Do souboru se zapíše matice A a její dominantní vlastní číslo. Nezvolíme-li výstup do souboru, vidíme výsledek na monitoru. Pokud spustíme program takto [A,l]=RALEY(e,n,infile,outfile), tak se matice A přiřadí do proměnné A a její dominantní vlastní číslo do proměnné l. Pokud program spustím jako v prvním případě, výsledek se zobrazí do grafu. 3
Podobné dokumenty
Implementace hry „Had“ (angl. Snake) pomocí GUI
jednoho barevného políčka), barva pozadí, barva hada a barva potravy. Po spuštění skriptu se
objeví okno, ve kterém je jak herní pole, ve které se nachází had ve své výchozí pozici, tak i
potrava. ...
Matlab05 (431kB
všechny proměnné z funkcí ve kterých je vnořena. Je-li např ve funkci A v příkladu proměnná
x, může s ní vnořená funkce C pracovat.
5.4.3 Privátní funkce
Privátní funkce jsou funkce které jsou umís...
MATLAB ver. 5
nebo y jsou nenulové (True). Vrací hodnotu False (0), kde jak x
tak i y jsou nulové (False), nebo jsou oba nenulové (True).
Vrací hodnotu True (1), jestliže alespoň jeden prvek vektoru x
je nenulov...
Technologie výroby číslicových obvodů
zatímco na kolektoru T2 potenciál klesne tak, že předpětí pro T3 z důvodu
úbytku napětí na diodě D nestačí T3 vybudit a T3 se uzavře. Na výstupu
se přes T4 objeví potenciál blízký 0 V (úroveň logic...
ZXM 91_02 - ZX Magazín
MGF vstupu
naprázdno
z
adresy 254 dostáváme 191,
což odpovídá novějším typům
ULA. Kvůli tomu
nechodí
některé
programy,
např.
SLOWLOADER, naštěstí'
lze
tuto
vlastnost
nebo
c h c e t e - l i chybu
do...
Objektově orientované programování II OBOP2
vrací aktuální indikátor pozice v aText
vrací true, je-li aText prázdný
nastavuje indikátor pozice a délku aText na 0
přidá text na který odlazuje r[] na konec aText
přidá text na který odkazuje r[...
Fractions - Uzivatelský manuál
Je-li volba zapnutá [X], program se po zadánı́ přı́kazu k počı́tánı́ nebude dotazovat na výraz, který chcete počı́tat, ale načte si výraz ze souboru
input.txt. Do tohoto souboru můžete ...
USB interface
Připojí PC Trainer, stiskněte tlačítko na interfejsu a interfejse připojte k USB portu. Tlačítko uvolněte. Tím je dán
povel interfejsu k tomu, aby začal novou kalibraci. Poté je třeba všemi pákovým...
MATEMATIKA I
Řekneme naopak, že vektory ~u , ~v jsou nekolineární, když rovnice k~u+l~v = ~o
je splněna pouze tehdy, když k = 0 a současně l = 0.
Příklad 1.1.1 Vektory ~x1 , ~x2 = −2~x1 jsou kolineární, protože...