Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Формула для итерационного циклического процесса


Автор: Hardip 7.12.2010, 11:09
Доброго времени суток! Вот борюсь с заданием по итерационному вычислительному процессу. Суть такая. Есть формула (во вложении картинка), я в принципе сделал задачу по ней, она работает, но нет уверенности на месте суммы. Вот что я сделал
Код

<html>
<head>
<title>Итерационный циклический вычислительный процесс</title>
 
 
Итерационный циклический вычислительный процесс
<div align="center">
 
</div><script type="text/javascript">
                function getRekurent()
                {
                        var x = parseFloat(document.getElementById("x").value);
                        var deviacion = parseFloat(document.getElementById("deviacion").value);
                        
                        
                        var standard = Math.cos(x);
                        var expressing = x;
                        var n = 0;
                        
                        if( deviacion < 0)
                        {
                                alert('Погрешность всегда положиительное число');
                                document.getElementById("lesson3").innerHTML = "";
                                return;
                        }
                        
                        expressing = memberOfRow(0, expressing, x, deviacion, standard, n+1);
                        document.getElementById("lesson3").innerHTML = "Значение - "+standard+"<br />Рассчитанный с приближением - "+expressing;
                        
                }
 
                function memberOfRow(summa, member, x, deviacion, standard, n)
                {
                        summa += member;
                        
                        if( summa < (standard-deviacion) )
                        {
                                member = member * Math.pow(-1,n) * Math.pow(x,2*n)/(2*n);
                                summa = memberOfRow(summa, member, x, deviacion, standard, n+1);
                        }
                        return summa;
                }
                
        </script>
<div>
                        <b>Задание 3</b><br />
                        <b>Условия:</b><br />
                        x - <input id="x" type="text" value="0.5" size="4"> Погрешность <input id="deviacion" type="text" value="0.001" size="15"> <br />
                        <input type="button" onclick="getRekurent()" value="Получить результат"><br /><br />
                        <b>Ответ:</b>
                </div>
                <div id="lesson3"></div>
                <br /><br />
 
<img src="3.GIF" border="0">
 
</body>
</html>

Я сделал вот так
Код

var standard = Math.cos(x);
member = member * Math.pow(-1,n) * Math.pow(x,2*n)/(2*n);

Но похоже не верно, подскажите что не так?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)