Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 03. 05. 2014 12:44

cof3
Zelenáč
Příspěvky: 1
Škola: fs
Pozice: student
Reputace:   
 

Gaussova-Seidelova metoda

Ahoj,  potřeboval bych pomoct s příkladem do školy, jsem úplně ztracený. Zde je zadání://forum.matweb.cz/upload3/img/2014-05/13773_V%25C3%25BDst%25C5%2599i%25C5%25BEek.JPG

Matici mám udělanou ale potom se ztrácím v jednotlivých podmínkách, proto bych chtěl poprosit o pomoc.

Předem mockrát děkuji.

Offline

 

#2 03. 05. 2014 13:22 Příspěvek uživatele Bati byl skryt uživatelem Bati. Důvod: moje blbost

#3 03. 05. 2014 13:28 — Editoval Jj (03. 05. 2014 13:29)

Jj
Příspěvky: 8756
Škola: VŠB, absolv. r. 1970
Pozice: Důchodce
Reputace:   599 
 

Re: Gaussova-Seidelova metoda

↑ cof3:

Dobrý den. Řekl bych, že pro Vás může být účelné zkusit, jak to po krocích dělá "Gauss Jordan Elimination Calculator" tady: Odkaz

Zkuste si udělat matici třeba 5 x 6 (tj. včetně pravé strany) spustit eliminaci - program popíše po krocích co dělá včetně zobrazení postupně upravovaných matic.

Předpokládám, že to bude dostatečně inspirující pro pohled do (s ohledem na tvar zadané matice) poměrně jednoduchého algoritmu.

Edit: Vidím, že jsem to dal pozdě, ale už to nechám.


Pokud se tedy nemýlím.

Offline

 

#4 03. 05. 2014 15:27 — Editoval Brano (03. 05. 2014 15:49)

Brano
Příspěvky: 2650
Reputace:   229 
 

Re: Gaussova-Seidelova metoda

↑ Bati:
ak som spravne pochopil implementaciu co uvadzas, tak ta nesplna podmienky zadania, lebo maju explicitnu poziadavku, ze nemaju ukladat nulove prvky matice A.

↑ cof3:
ja by som postupoval tak, ze by som v nejakom vektore a[0..n-1] drzal posledny stlpec matice A a vo vektore b[0..n-1] drzal pravu stranu rovnice.

Najprv by som si vyrobil na diagonale jednotky:

for(i=0;i<n;i++) {a[i]:=a[i]/4 ; b[i]:=b[i]/4;}

Potom riadkove upravy co by to previedli na hornu trojuholnikovu maticu bu mali byt nejake taketo:

for(i=0;i<n-2;i++) {a[i+2]:=a[i+2]-0.5*a[i] ; b[i+2]:=b[i+2]-0.5*b[i];}

a potom ked chceme diagonalny tvar, tak

b[n-1]:=b[n-1]/a[n-1];
for(i=0;i<n-1;i++) b[i]:=b[i]-a[i]*b[n-1];

a uz by si mal mat v b[] vysledok.
inak ak sa s tym pohras, tak by si si mal vsimnut, ze hodnoty a[] po prvych dvoch krokoch sa daju predpocitat t.j. vies napisat nejaky vzorcek a potom by si vlastne robil iba upravy s vektorom b[]

Offline

 

#5 31. 05. 2014 23:36

Eratosthenes
Příspěvky: 2584
Reputace:   132 
 

Re: Gaussova-Seidelova metoda

ahoj ↑ Brano:, ↑ Jj:

to, co navrhujete, je sice hezké, ale není to Gauss-Seidlova metoda.


Budoucnost patří aluminiu.

Offline

 

#6 31. 05. 2014 23:48

Eratosthenes
Příspěvky: 2584
Reputace:   132 
 

Re: Gaussova-Seidelova metoda

ahoj ↑ cof3:,

spáchal bych to asi takto:

const Pocet_Rovnic=5000;
        Pocet_Iteraci=1000;

for i:=1 to Pocet_Rovnic do x[i]:=0;

for iterace:=1 to Pocet_Iiteraci do
begin
  x[1]:=(-x[PocetRovnic]+b[1])/4;
  x[2]:=(-x[PocetRovnic]+b[2])/4;
  for i:=3 to Pocet_Rovnic-1 do
     x[i]:=(-2*x[i-2]-x[PocetRovnic]+b[i])/4;
  x[Pocet_Rovnic]:=(-2*x[Pocet_Rovnic-2]+b[PocetRovnic])/4;
end;


Budoucnost patří aluminiu.

Offline

 

#7 01. 06. 2014 10:12

Brano
Příspěvky: 2650
Reputace:   229 
 

Re: Gaussova-Seidelova metoda

↑ Eratosthenes:
pravda, nejak som sa nechal uniest iba prvym menom a pisal som o Gaussovej eliminacnej metode

Offline

 

#8 01. 06. 2014 11:36

Jj
Příspěvky: 8756
Škola: VŠB, absolv. r. 1970
Pozice: Důchodce
Reputace:   599 
 

Re: Gaussova-Seidelova metoda

↑ Eratosthenes:

Zdravím, taky jsem reagoval hned na Gausse, dík za upozornění.


Pokud se tedy nemýlím.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson