Matematické Fórum


1. 8. 2026 (L) Fórum bude brzy uzavřeno 😿

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