Gauss Seidel
Publicado por Perfil removido 15/05/2008
[ Hits: 26.372 ]
Esse script é bem simples, calcula o Metodo de Gauss Seidel.
Depois de compilar e executar dando as entradas devidas, gera um arquivo texto. Dê o nome para esse arquivo.
Obs:Deve definir o tamanho da matriz(1000x1000 por exemplo).Você pode tirar os argumentos que fazem ele ficar destacado. <printf("{DESCRICAO}33[036m")..etc>
/*Matematica numerica Claudir Oliveira Método de Gauss Seidel */ /* <1º passo-Criação de ponteiros e alocação de ponteiros> <2º passo-Criar ponteiro para arquivos e escrever aquivos> ############################################################ compilar:gcc SeidelModificado.c -o <name> */ #include<stdio.h> #include<math.h> #include<malloc.h> double **a, *b, *x; int i, j, n; main() { void gauss_Seidel(), aloc_var(); int s, m, n; s = 0; while(s==0) { printf("{FONTE}33[036m"); printf("{FONTE}33[04m"); printf("Resolução de SELAs - Gauss-Seidel \n"); printf("{FONTE}33[00m"); printf("{FONTE}33[036m"); printf("\n Forneça as dimensões da matriz A: m n = "); printf("{FONTE}33[00m"); scanf("%d %d", &m, &n); aloc_var(m,n); gauss_Seidel(m,n); printf("{FONTE}33[036m"); printf("{FONTE}33[05m"); printf("\n Deseja sair do progrma? (1-Sim, 0-Não)"); printf("{FONTE}33[00m"); scanf("%d", &s); } } void gauss_Seidel(m,n) int m, n; { double somat(); int k, tol; printf("{FONTE}33[036m"); printf("\n Defina a matriz A[%dx%d]\n",m,n); printf("{FONTE}33[00m"); for(i=0; i<= m-1; i++) { for(j=0; j<=n-1; j++) { printf("\n a[%d,%d]= ",i+1,j+1); scanf("%lf",&a[i][j]); } } printf("{FONTE}33[036m"); printf("\n Defina o vetor B(%d)\n",m); printf("{FONTE}33[00m"); for(i=0; i<=m-1; i++) { printf("\n b[%d]= ",i+1); scanf("%lf",&b[i]); } printf("{FONTE}33[036m"); printf("\n Defina o vetor x(%d)\n",n); printf("{FONTE}33[00m"); for(i=0; i<=n-1; i++) { printf("\n x[%d]= ",i+1); scanf("%lf",&x[i]); } printf("{FONTE}33[036m"); printf("\n Defina o número de iterações = "); printf("{FONTE}33[00m"); scanf("%d", &tol); k = 0; while (k < tol) { for(i=0; i<=n-1; i++) { x[i] = (b[i] - somat(i,n) + a[i][i]*x[i])/a[i][i]; } k = k+1; } printf("{FONTE}33[036m"); printf("\n O vetor x é = \n"); printf("{FONTE}33[00m"); for (i = 0; i <= n-1; i++) { printf("%g \n", x[i]); } } double somat(i,n) int i, n; { double soma; soma = 0.0; for(j=0; j<=n-1; j++) { soma = soma + a[i][j]*x[j]; } return soma; } void aloc_var(m,n) int m,n; { int i; printf("\n Valor de m , n = %d,%d\n",m,n); a=(double **) malloc((m+1)*sizeof(double *)); b=(double *) malloc((m+1)*sizeof(double)); x=(double *) malloc((n+1)*sizeof(double)); for(i=0;i < n+1;i++) { a[i]=(double *)malloc((n+1)*sizeof(double)); } }
Verificar se o e-mail é válido
Calculo de IMC escrito em linguagem C
Mini Analisador Léxico que conta palavras numa string
Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha
Como preparar o Vim/Neovim para corrigir ortografia em português
Dark Web e Malwares na internet, quanto custa?
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Como verificar o hash de um arquivo baixado da Internet e como criar um hash
Debian 12 - IPTABLES - removendo NFTABLES
OverWatch 2 - Abrindo portas do jogo no Iptables.
Como instalar o adaptador wifi USB Intelbras ACtion A1200 no Linux Mint
Como normalizar seus arquivos MP3 para que fiquem no mesmo volume
Instalação do Programa Imposto de Renda Pessoa Física 2023 [RESOLVIDO]... (6)
Instalando e compilando o GCC/G++ erro (4)
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba
[Shell Script] Tire screenshots com Scrot facilmente com Zscrot
[Shell Script] DioPSI - Script multidistro para instalar programas
[Shell Script] ARS Vídeos - Cortador de vídeos e webcam shooter