Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- t_vetor refina(t_vetor,t_vetor,t_vetor,int);
- void refina(t_vetor,t_vetor,t_vetor,t_vetor*,int); //!< @ingroup res
- //!< refina o resultado baseado no residuo
- >t_vetor refina(t_vetor matU, t_vetor matL, t_vetor res,int n){<
- void refina(t_vetor matU, t_vetor matL, t_vetor res, t_vetor *resN,int n){ // LU.x=b -> A.x⁰=R⁰
- int i;
- t_vetor y = (t_vetor) calloc(n,sizeof(t_vetor));
- >>t_vetor resN = cria_matriz(n);<<
- for(i=0;i<n;++i){ // rodo as funções para cada vetor coluna da matriz Identidade
- subs_progr(matL, y, res+n*i, n); // substituição progressiva, resolvendo L.y=b
- subs_retro(matU, *resN+n*i, y, n); //substituição regressiva, resolvendo U.x=y
- }
- transposta(*resN,n);
- free(y);
- //print_matriz(resN,n);
- //return resN; //resN = d⁰
- }
- ...{
- delta = cria_matriz(dimensao_matriz);
- double residuos[num_iteracoes];
- tempoRes = timestamp();
- for (i = 0; i < num_iteracoes; ++i) {
- matR = residuo(matO, matIN, dimensao_matriz);
- //print_matriz(matR,dimensao_matriz);
- residuos[i] = calc_res(matR, dimensao_matriz);
- refina(matU, matL, matR, &delta,dimensao_matriz);
- >delta = refina(matU, matL, matR,dimensao_matriz);<
- //print_matriz(delta,dimensao_matriz);
- matIN = soma(matIN, delta, dimensao_matriz);
- }
- tempoRes = timestamp() - tempoRes;
- ...}
Add Comment
Please, Sign In to add comment