Pergunta

Aqui está o meu problema:

Calcule o valor de π usando a seguinte série:

((π^2)-8)/16=[sum from 1 to pos. infinity] 1/(((2n−1)^2)*((2n+1)^2))

• Encontre o menor número de termos necessários para obter um valor absoluto do erro em π menor que 10e−8.

Aqui está meu código:

x=0;
for i=1:1000

    x=x+(1/((((2*i)-1)^2)*(((2*i)+1)^2)));
    z=sqrt((x*16)+8);
    error=abs(z-pi);
    if (error < 10e-8)
        i
        break
    end
end

A resposta que recebo é 81 quando o loop é interrompido, mas não é a resposta certa.Tenho tentado descobrir o que há de errado com meu código para que ele não faça o que preciso.

Estou olhando o código há um bom tempo e não consigo ver onde cometi um erro.

Foi útil?

Solução

Eu encontrei o problema.O erro deve ser menor que 10^-8 e não 10e-8.De alguma forma, os números foram alterados durante a cópia.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top