(Resolvido)Potenciação com números complexos

4 respostas
java
mxmeida

Oi, sou iniciante em java, e estou com um pequeno problema num programa que estou a criar estou com problemas na parte da potenciação com números complexos. Eu já percebi o erro mas não sei como corrigir.

Segue o meu código dessa parte:

public class Complexo {
    private double a=0;
    private double b=0;

    public Complexo(double a, double b) {
        this.a = a;
        this.b = b;
    }

    public String potencia(int pot) {
        Complexo p=new Complexo(a,b);
        Complexo o=new Complexo(a,b);
        for(int i=0;i<pot;i++) {
            p.a=(o.a-(p.b * o.b)/p.a);
            p.b=(p.a * o.b)/(p.b)+o.a;
        }
        return "Complexo{"+ p.a+ ';'+p.b+ '}';
    }
}

Segue também as fórmulas matemáticas:

Z^n=Z*Z**Z sendo que Z=a+bi

e

z * w= (ac-bd)+(ad+bc)i  sendo z=a+bi e w=c+di.

O problema está mesmo nas fórmulas do ciclo for pois como a potenciação pode ser feita várias vezes não sei como atualizar os valores corretamente.

4 Respostas

staroski

Edita seu post formatando o código java com o botão </>.

Posta o fonte da classe Complexo.

mxmeida

Já alterei, o meu problema é mesmo nas fórmulas…

mxmeida

Novo código com o problema resolvido para alguém que precise:

public String potencia(int pot){
        Complexo p=new Complexo(a,b);
        Complexo o=new Complexo(a,b);
        for(int i=0;i<pot;i++){
            Complexo f=new Complexo(p.a,p.b);
            p.a*=o.a-((p.b*o.b)/p.a);
            p.b*=((f.a * o.b) / p.b) + o.a;

        }
        return "Complexo{"+ p.a+ ';'+p.b+ '}';
    }
staroski

Quem precisar só não vai ter o fonte da classe Complexo. :frowning:

Criado 11 de abril de 2019
Ultima resposta 12 de abr. de 2019
Respostas 4
Participantes 2