
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")
for i=2:n
b(i) = ( b(i) - L( i, 1:i - 1 ) * b(1:i - 1) )/L(i,i)
endMůj kód v C
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