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 28. 01. 2015 23:36

Katsushiro
Místo: Rožnov pod Radhoštěm
Příspěvky: 144
Škola: VŠB TUO - FEI
Pozice: student
Reputace:   
 

MatLab do C

Ahoj!

Potřebuji přepsat pseudokód vycházející z MatLabu do C (nedávno jsem se ptal na podobnou věc, ale chtěl jsem jen vysvětlit, jak tento pseudokód chápat, proto zakládám nové téma). Pokusil jsem se o to, chtěl bych jen požádat o kontrolu, jestli byste to chápali stejně jako já.

Jde o "forward substitution" při řešení soustavy rovnic pomocí LU-rozkladu, tedy o řešení vztahu Lx=b.

Místo b používám v kódu y.

Pseudokód ("MatLab")

Code:

for i=2:n
    b(i) = ( b(i) - L( i, 1:i - 1 ) * b(1:i - 1) )/L(i,i)
end

Můj kód v C

Code:

int y[SIZE];
int i, j;
y[0] =  y[0]/L[0][0];

for(i=1; i<n; i++) {
    for( j = 0; j < i-1; j++ ) {
            y[i] = ( y[i] - L[i][j] * y[j] )/L[i][i];
    }
}

Moc děkuji za všechny odpovědi, vím, že je to celkem triviální otázka, ale s MatLabem moc praxe nemám a nahrnulo se to na mě nějak akutně :-)

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson