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
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
↑ Creatives:
Potřebuju tam zakompletovat nějakej for cyklus, což znamená indexovat. Jak ty píšeš to nejde.
Offline
↑ 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
↑ 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