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 17. 11. 2013 14:34

Tscar
Příspěvky: 77
Reputace:   
 

Matlab - indexování

Dobrý den,

píši v Matlabu program na výpočet soustavy lineárních rovnic pomocí Jacobiho metody http://en.wikipedia.org/wiki/Jacobi_method
a cykl bych chtěl zapsat v maticové podobě (ne přes elementy). Věděl byste někdo, jak indexovat celý vektor? Pokud napíšu v(i), bere Matlab v potaz i-tý prvek vektoru v a rozměry matic nesouhlasí.

Předem díky.

Offline

 

#2 17. 11. 2013 14:44

Creatives
Příspěvky: 610
Škola: UP MAT-EKO(09-12, Bc.)
Pozice: Student
Reputace:   26 
 

Re: Matlab - indexování

↑ Tscar:
Chceš jako vybrat  " i - tý "  sloupec z matice " A " ?
Pokud ano, tak A(:,i)

Offline

 

#3 17. 11. 2013 15:23

Tscar
Příspěvky: 77
Reputace:   
 

Re: Matlab - indexování

Ne, to ne.
Ten vzorec vypadá takhle:
x = inv(D)*(b-R*x)
, kde x a b je sloupcovej vektor a D a R jsou odpovídající čtvercové matice. A já ten vektor x nejprve zadám (třeba samý jedničky) a z toho tím vzorcem vypočítám novej vektor x a ten novej do toho vzorce chci dosadit zpátky a spočítat zase další .. no a to tak dlouho, dokud to nebude odpovídat nějaký přesnosti.
A otázka je jak to zaindexovat. Jakmile napíšeš x(i), už to nebere nějakej vektor xi, ale bere to skalár na i-tý pozici vektoru x.

Offline

 

#4 17. 11. 2013 15:56 — Editoval Creatives (17. 11. 2013 15:57) Příspěvek uživatele Creatives byl skryt uživatelem Creatives.

#5 17. 11. 2013 16:01 — Editoval Creatives (17. 11. 2013 16:03)

Creatives
Příspěvky: 610
Škola: UP MAT-EKO(09-12, Bc.)
Pozice: Student
Reputace:   26 
 

Re: Matlab - indexování

↑ Tscar:

Mělo by to jít takhle:

x2=inv(D)*(b-R*x1) pomůže to?

Offline

 

#6 17. 11. 2013 16:08

Tscar
Příspěvky: 77
Reputace:   
 

Re: Matlab - indexování

↑ Creatives:
Potřebuju tam zakompletovat nějakej for cyklus, což znamená indexovat. Jak ty píšeš to nejde.

Offline

 

#7 17. 11. 2013 16:15

Stýv
Vrchní cenzor
Příspěvky: 5710
Reputace:   215 
Web
 

Re: Matlab - indexování

Tscar napsal(a):

Potřebuju tam zakompletovat nějakej for cyklus, což znamená indexovat.

říká kdo? proč bys v cyklu nemohl použít přímo x = inv(D)*(b-R*x)?

Offline

 

#8 17. 11. 2013 17:35

Tscar
Příspěvky: 77
Reputace:   
 

Re: Matlab - indexování

↑ Stýv:
Pak mi něco uniká .. ale proto jsem nakonec tady.
Můžu se teda zeptat jak na to?

Offline

 

#9 17. 11. 2013 17:47 — Editoval Creatives (17. 11. 2013 17:48) Příspěvek uživatele Creatives byl skryt uživatelem Creatives.

#10 17. 11. 2013 19:23 — Editoval Creatives (17. 11. 2013 22:36)

Creatives
Příspěvky: 610
Škola: UP MAT-EKO(09-12, Bc.)
Pozice: Student
Reputace:   26 
 

Re: Matlab - indexování

↑ Tscar:
Něco jsem zkoušel a taky hledal, ale bohužel nedařilo se.

Nejblíž jsem byl tady, ale bohužel nefunguje, xi chápe, ale xy nechápe....
x1=[1;1]

for i=2:5
y=i-1
xi=xy.*[1;2]
end




jinak můžeš zkusit vyhledat už hotový m file, určitě najdeš :)

Offline

 

#11 17. 11. 2013 20:34

Tscar
Příspěvky: 77
Reputace:   
 

Re: Matlab - indexování

↑ Creatives:

Taky jsem nepochodil. Každopádně díky za ochotu. Poptám se na cviku a když budu mít úspěch, postnu sem řešení.

Offline

 

#12 17. 11. 2013 21:19

Stýv
Vrchní cenzor
Příspěvky: 5710
Reputace:   215 
Web
 

Re: Matlab - indexování

↑ Tscar: nerad se opakuju, tak si znovu přečti můj post, je to tam napsaný

Offline

 

#13 17. 11. 2013 21:43

Creatives
Příspěvky: 610
Škola: UP MAT-EKO(09-12, Bc.)
Pozice: Student
Reputace:   26 
 

Re: Matlab - indexování

↑ Stýv:
Vůbec jsem si tvého příspěvku nevšiml, a já nad tím strávil minimálně hodinu :D
Jsi dobrej.

Offline

 

#14 17. 11. 2013 22:25

Tscar
Příspěvky: 77
Reputace:   
 

Re: Matlab - indexování

↑ Stýv:
Myslíš "říká kdo? proč bys v cyklu nemohl použít přímo x = inv(D)*(b-R*x)?"
A jak bys do toho zadal, že to chceš nechat proběhnout třeba 50x?

Offline

 

#15 17. 11. 2013 22:29

Stýv
Vrchní cenzor
Příspěvky: 5710
Reputace:   215 
Web
 

Re: Matlab - indexování

↑ Tscar: for i=1:50

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson