Вот моя проблема:
Вычислите значение π, используя следующий ряд:
((π^2)-8)/16=[sum from 1 to pos. infinity] 1/(((2n−1)^2)*((2n+1)^2))
• Найдите наименьшее количество членов, необходимых для получения абсолютного значения ошибки на π меньше, чем 10e−8.
Вот мой код:
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
Ответ, который я получаю, это 81, когда цикл прерывается, но это не правильный ответ. Я пытался выяснить, что не так с моим кодом, что он не делает то, что мне нужно.
Я довольно долго смотрел на код и не мог понять, где я сделал ошибку.
abs(z-pi)=9.7997e-08
, так что ваш код работает. Кроме того, сi=80
вы получите ошибку ~ 1.01e-7, что соответствует › 10e-8. Какого ответа вы ожидали? Единственное, о чем я могу думать, это то, что вы неправильно прочитали, и это было (скажем) 1e-8 вместо 10e-8? - person mathematical.coffee   schedule 24.01.2012