Guest User

Untitled

a guest
Nov 17th, 2017
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. t_vetor refina(t_vetor,t_vetor,t_vetor,int);
  2. void refina(t_vetor,t_vetor,t_vetor,t_vetor*,int); //!< @ingroup res
  3. //!< refina o resultado baseado no residuo
  4.  
  5. >t_vetor refina(t_vetor matU, t_vetor matL, t_vetor res,int n){<
  6. void refina(t_vetor matU, t_vetor matL, t_vetor res, t_vetor *resN,int n){ // LU.x=b -> A.x⁰=R⁰
  7. int i;
  8. t_vetor y = (t_vetor) calloc(n,sizeof(t_vetor));
  9. >>t_vetor resN = cria_matriz(n);<<
  10. for(i=0;i<n;++i){ // rodo as funções para cada vetor coluna da matriz Identidade
  11. subs_progr(matL, y, res+n*i, n); // substituição progressiva, resolvendo L.y=b
  12. subs_retro(matU, *resN+n*i, y, n); //substituição regressiva, resolvendo U.x=y
  13. }
  14. transposta(*resN,n);
  15. free(y);
  16. //print_matriz(resN,n);
  17. //return resN; //resN = d⁰
  18. }
  19.  
  20. ...{
  21. delta = cria_matriz(dimensao_matriz);
  22.  
  23. double residuos[num_iteracoes];
  24. tempoRes = timestamp();
  25. for (i = 0; i < num_iteracoes; ++i) {
  26. matR = residuo(matO, matIN, dimensao_matriz);
  27. //print_matriz(matR,dimensao_matriz);
  28. residuos[i] = calc_res(matR, dimensao_matriz);
  29. refina(matU, matL, matR, &delta,dimensao_matriz);
  30. >delta = refina(matU, matL, matR,dimensao_matriz);<
  31. //print_matriz(delta,dimensao_matriz);
  32. matIN = soma(matIN, delta, dimensao_matriz);
  33. }
  34. tempoRes = timestamp() - tempoRes;
  35. ...}
Add Comment
Please, Sign In to add comment