Re:Exponenciação

10 respostas
Luca

Olá

  1. Bem vindo ao GUJ

  2. Use as tags Code para que seu código apareça identado

  3. Não nem para entender o que quer fazer. Estude as instruções for para não colocar coisas que não variam dentro delas repetindo a execução a toa.

  4. Seria Gauss o nome correto da sua classe?

  5. Que erro está dando?

[]s
Luca

10 Respostas

peczenyj

que tal trocar

for (j=1;j<=5;j++)

por

for (j=0;j<5;j++)

pois os arrays em Java começam em 0 e vão até o valor da dimensão - 1

no seu caso, elas vão de 0 até 4 :wink:

LPJava

ae so dando um toque no array é como o parceiro falou, os indices sao 0, entao se deseja um array de 3 vc tem q colocar for i < 4 ai temos ate o valor 3 se vc começar a conta de 1 n vai ter o resultado q deseja a n ser q vc começe o indice do array 1.

dudaskank

bom vc faz um for até i < 4 se o seu array tem 4 elementos, não 3…

LPJava

bom vc faz um for até i < 4 se o seu array tem 4 elementos, não 3…

falei contado do zero 0,1,2,3 temos ai 4 posição lembrando que a ultima eh 3 e nao 4 :lol:

E

Amigo vc não pode usar um array sem instancia-lo, esse é o erro.

Substitua isso:

double[][] g;
double[][]g2;

Por isso:
double[][] g = new double [5] [5]; //chutei as dimenções
double[][] g2 = new double [5] [5]; //bote as dimenções que vc precisar

akumaldo

O próprio compilador está dizendo o problema…e como o amigo disse aqui em cima…realmente…ele está reclamando de variáveis que precisam ser instanciadas…ou seja tem algumas variáveis locais que não estão apontando para lugar nenhum…estão com valor null…e ele está reclamando disso…de suas arrays que não estão inicializadas…e precisam estar

S

Boa Noite! Estou com problemas nessa estrutura, mais especificamente em cima da fórmula de exp, se souberem qual o erro mto obrigado.

public class Gaus{
	public static void main( String[] args){
		
		int soma = 0;
		double[][] g = new double [5] [5];
		double[][] g2 = new double [5] [5];
		int pI = (int) Math.PI;
		double x= -2;
		double y = -2;
		int i=1;
		int j=1;
		double c1,c2,c3;
		
		for (i=1;i<=5;i++)
	        for (j=1;j<=5;j++)
	    {
	             g[i][j]=0;
	             g2 [i][j] =0;
	    }
	    
	    for (i=1;i<=5;i++)
	        for (j=1;j<=5;j++)
	    {
	        	   c1 = Math.pow(x,2);
	        	   c2 = Math.pow (y,2);
	        	   c3 = (-(c1 +c2)/(2*1));;
	               g[i][j]= Math.exp(c3);//(-(c1 +c2)/(2*1));
	               soma += g[i][j];
	               x+=1;
	               y+=1;
	    }     
	    for (i=1;i<=5;i++)
	        for (j=1;j<=5;j++)
	    {
	               g2[i][j]=1/soma;
	               System.out.println(g2[i][j]);
	    }      

	}
}
S

Bom obrigado pelas respostas, e desculpe a demora …

Segue o código com as recomendações …

public class Gaus{
	public static void main(String[] args){
		int soma=0;
		double [][] g;
		double [][] g2;
		int pI = (int) Math.PI;
		double x = -2;
		double y = -2;
	    int i;
	    int j;
	    
		
		for (i=0;i<5;i++)
		{
			for (j=0;j<5;j++)
			{
	             g[i][j]=0;
			}
		}
	    for (i=0;i<5;i++)
	    {
	    	for (j=0;j<5;j++)
	    	
	    	{
	            //   g[i][j]= (exp(-(x*x+y+y)/(2*1)));
	               g[i][j]= Math.exp(-(x*x+y+y)/(2*1));
	               x+=1;
	               y+=1;
	    	}
	    }
	    for (i=0;i<5;i++)
	    {
	    	for (j=0;j<5;j++)
	    
	    {
	               g2[i][j]=1/soma;
	               System.out.println(g2[i][j]);
	    }      
	    }
		
		
	}
}

O problema continua, da a seguinte mensagem:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
	The local variable g may not have been initialized
	The local variable g may not have been initialized
	The local variable g2 may not have been initialized
	The local variable g2 may not have been initialized

	at Gaus.main(Gaus.java:17)

Bom eu so bem iniciante principalmente na parte de matrizes em java, obrigado por qualquer ajuda que puderem me dar, desde ja agradeço … :]

vlw

[color=darkred]Mensagem do moderador: aprenda a usar as tags Code para seu código aparecer corretamente[/color]

S

hm ok … aproveitando o tópico …

todo a vez que vou utilizar … esta fórmula …

rx=pow(x,2);

ry= pow(y,2);

g[i][j]= Math.exp(-((rx)+(ry))/(2));

Meus resultados são 1.0 repetidos …

Para explicar um pouco melhor o que preciso fazer …

X e Y variam de -2 ate 2 e meu erro ta ap partir de quando -1 é colocado ao quadrado … Tbm nâo sei se o pow faz o que eu quero …

na verdade o que quero eh fazer com que na fórmula tenha o ‘x’ ao quadrado e o mesmo para o ‘y’.

Obrigado.

S

20sliders05:
hm ok … aproveitando o tópico …

todo a vez que vou utilizar … esta fórmula …

rx=pow(x,2);
 ry= pow(y,2);
g[i][j]= Math.exp(-((rx)+(ry))/(2));

Meus resultados são 1.0 repetidos …

Para explicar um pouco melhor o que preciso fazer …

X e Y variam de -2 ate 2 e meu erro ta ap partir de quando -1 é colocado ao quadrado … Tbm nâo sei se o pow faz o que eu quero …

na verdade o que quero eh fazer com que na fórmula tenha o ‘x’ ao quadrado e o mesmo para o ‘y’.

Obrigado.

Criado 19 de julho de 2006
Ultima resposta 11 de set. de 2006
Respostas 10
Participantes 7