Cześć,
mój problem polega na tym, że zrobiłem program który oblicza macierz metodą Choleskiego, ALE dodatkowo trzeba zrobić podstawianie w przód, czyli coś takiego co po wprowadzonej macierzy przez użytkownika w tym przypadku macierzy M doda macierz niewiadomych, bo użytkownik będzie wprowadzał też macierz b, która jest wynikiem, a program na końcu ma wypluć odpowiedz czyli niewiadome. Dodam, że ma to działać w Matlabie
Na przykładzie wygląda to tak
M * x = b
gdzie,
M,b - macierze wprowadzane przez użytkownika
x - wyniki
Podsyłam program Choleskiego i pod kreską moja próba robienia podstawienia w przód, PROSZĘ O POMOC!
M=input('podaj macierz ');
n = length( M );
L = zeros( n, n );
for i=1:n
L(i, i) = sqrt(M(i, i) - L(i, :)*L(i, :)');
for j=(i + 1):n
L(j, i) = (M(j, i) - L(i,:)*L(j ,:)')/L(i, i);
end
end
disp(L)
disp(transpose(L))
-------------------------- to na dole ma być zrobione podstawianiem w przód, ale jest źle
b=input('podaj macierz b ');
x=zeros(n,1);
for w=1:n
if (L(w,w)==0) error('Matrix is singular!'); end;
x(w)=b(w)/L(w,w);
b(w+1:n)=b(w+1:n)-L(w+1:n,w)*x(w);
end
disp(x)
Podpinam wzór na tę metodę: