witam,
nie mogę poradzić sobie z macierzą 17 wierszy na 3 do 8 kolumn. Chodzi o to, że macierz, wypełniona jest dużą ilością zer i to powoduje błąd dzielenia przez zero.
oto fragment kodu liczy macierz 4 na 4 (nie sprawdza się przy 17 na 17):
//********** ROZKLAD LU **************************
for i := 1 to n do
begin
for j := i to n do
begin
s1 := 0;
s2 := 0;
for k := 1 to i-1 do
begin
s1 := s1 + (l[i,k] * u[k,j]);
s2 := s2 +(l[j,k] * u[k,i]);
end;
u[i,j] := a[i,j] - s1;
if j = i then
l[i,i] := 1;
if j > i then
l[j,i] := (a[j,i] - s2)/ u[i,i];
end;
end;
//********** ROZWIAZANIE LY=B ***********************
FOR i := 1 to n do
begin
s1 := 0;
for k:= 1 to i-1 do
s1 := s1 + (l[i,k]*y[k]);
y[i] := (b[i] - s1)/l[i,i];
end;
//************ ROZWIAZANIE UX=Y *********************
for i:=n downto 1 do
begin
s1 := 0;
for k := i+1 to n do
s1 := s1 + (u[i,k]*x[k]);
x[i] := (y[i] - s1)/u[i,i];
end;
I właśnie przy tej 17 na 17 wyskakuje błąd dzielenia przez zero.
Pytanie 2:
Czy można wykorzystać biblioteki matlaba do wykonywania operacji na macierzach (np. policzenie rzędu macierzy)
dzięki