Advertisement
Guest User

crout

a guest
Dec 18th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. crout[A_, b_] := Module[{n = Length[A], l, u, xPosrednie, x},
  2. l = Table[0, {n}, {n}];
  3. u = Table[0, {n}, {n}];
  4. For[i = 1, i <= n, i++,
  5. For[j = 1, j <= n, j++,
  6. If[i == j, u[[i, j]] = 1];
  7. ];
  8. ];
  9. For[i = 1, i <= n, i++,
  10. For[j = 1, j <= n, j++,
  11. l[[j, i]] = A[[j, i]] - \!\(
  12. \*UnderoverscriptBox[\(\[Sum]\), \(k = 1\), \(n\)]\(l[\([\)\(j,
  13. k\)\(]\)]*u[\([\)\(k, i\)\(]\)]\)\);
  14. ];
  15. For[j = i + 1, j <= n, j++,
  16. u[[i, j]] = (A[[i, j]] - \!\(
  17. \*UnderoverscriptBox[\(\[Sum]\), \(k = 1\), \(n\)]\(l[\([\)\(i,
  18. k\)\(]\)]*u[\([\)\(k, j\)\(]\)]\)\))/l[[i, i]];
  19. ];
  20. ];
  21. xPosrednie = Table[0, {n}];
  22. For[k = 1, k <= n, k++,
  23. xPosrednie[[k]] = (b[[k]] - \!\(
  24. \*UnderoverscriptBox[\(\[Sum]\), \(j = 0\), \(k - 1\)]\(l[\([\)\(k,
  25. k - j\)\(]\)] xPosrednie[\([\)\(k - j\)\(]\)]\)\))/l[[k, k]]
  26. ];
  27. x = Table[0, {n}];
  28. Do[x[[n - k]] = xPosrednie[[n - k]] - \!\(
  29. \*UnderoverscriptBox[\(\[Sum]\), \(j =
  30. 1\), \(k\)]\((u[\([\)\(n - k,
  31. n - k + j\)\(]\)] x[\([\)\(n - k + j\)\(]\)])\)\), {k, 0,
  32. n - 1}];
  33. Print["m=", MatrixForm[A], " l=", MatrixForm[l], "u =",
  34. MatrixForm[u]];
  35. Print["Rozwiązanie pośrednie: ", xPosrednie];
  36. Print["Rozwiązanie: ", x];
  37. ];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement