Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Funkcja obliczająca wektor prawych stron dla zadanej macierzy i wektora jednostkowego
- # in: A - zadana macierz, n - rozmiar macierzy
- # out: b - obliczony wektor prawych stron
- function rightVector(A::SparseMatrixCSC{Float64, Int64}, n::Int64, l::Int64)
- b = zeros(Float64, n);
- for i in 1 : n
- firstNonZeroInCol = convert(Int64, max(l * floor((i-1) / l) , 1)); #po floor((i-1) / l) było -1 ale chyba nie pasuje
- lastNonZeroInCol = convert(Int64, min(l + l * floor((i) / l), n));
- for j in firstNonZeroInCol : lastNonZeroInCol
- b[i] += A[j, i];
- end
- #uwzględnienie danych zawartych w blokach C
- if (i + l <= n)
- b[i] += A[i + l, i];
- end
- end
- return b;
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement