Ir ao conteúdo
  • Cadastre-se

eliel__

Membro Júnior
  • Posts

    9
  • Cadastrado em

  • Última visita

posts postados por eliel__

  1. Acredito que o seu problema esteja aqui:

    for (int i=1; i<=3; i++){		// Somatório em j. 	for (int j=1; j<=3; j++)	{		soma[j] = a[i][j]*x_pre[j]*delta(i,j);	}				// Atualiza os valores de x.	x_pos[i] = (b[i]-soma[i])/a[i][i];}

    Veja que no somatório de j você faz 3 iterações e atribui os valores a cada posição do vetor "soma".

    Mas quando você vai atualizar os valores de x, você só utiliza soma, ou seja, a unica iteração que vai importar no somatório de j é o atual valor de i.

    Se i=1, você só utiliza soma[1], Se i=2, você só utiliza soma[2], Se i=3, você só utiliza soma[3].

     

    Isso significa que nessas situações o seu delta sempre terá i=j, e o delta sempre será 0, e, por consequencia, o seu soma sempre será 0. Por isso que o valor sempre dá igual.

     

    Experimente declarar "soma" como uma simples variavel float, e mude esta linha:

    soma[j] = a[i][j]*x_pre[j]*delta(i,j);

    para

    soma += a[i][j]*x_pre[j]*delta(i,j);

    e não esqueça de zerar a variavel soma antes do somatório de j

    // Somatório em j. soma = 0;

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!