Не получается написать функцию
Я пишу программу, которая должна получить полином в следующем виде:
x^4*6+x^3*4+x^2+x также подойдет вариант, если скобки будут нераскрыты, т.е. например: (x-5)(x+9)(x-4) + (x-4)(x-3)(x+2) +... вот формула, по которой считается : *значок суммирования я тут написать не могу, так что напишу словами *li(x) -здесь i -индекс, т.е "эль итое от икс"; f(xi)-"эф от икс итого" L(x)=[сумма от i=0 до n] li(x)*f(xi) f(xi)-значение функции в точке. lk(x)=(x-x0)...(x-x(k-1))(x-x(k+1))...(x-xn) / (xl-x0)...(xk-x(k-1)) (xk-x(k+1))...(xk-xn) lk(x)-"эль катое от икс" x(k-1) -"икс ка минус первое" Ввод данных уже организован (на ввод пользователь должен ввести ко-во узлов,потом сами узлы, интервалы для расчета Чебышевских узлов) значение функции в узлах программа считает. Вот уже написанный код: <html> <head> <script> function vvod_elementov(N) { var N = N.value, div = document.getElementById("el_len"), span, input, but, sub; if (!parseInt(N, 10)) { return alert("Введенное значение не является числом!"); } else { N = parseInt(N, 10); } div.innerHTML = ""; for (i=0; i < N; i++) { span = document.createElement("span"); input = document.createElement("input"); input.setAttribute("type", "text"); input.setAttribute("name", "x"+i); but = document.createElement("input"); but.setAttribute("type", "button"); but.setAttribute("value", "Определить значение функции в узле"); but.onclick = (function(i) { return function() { Proverka(this.parentNode, i); } })(i); sub = document.createElement("sub"); sub.appendChild(document.createTextNode(i)); span.appendChild(document.createTextNode("Введите x")); span.appendChild(sub); span.appendChild(input); span.appendChild(document.createElement("br")); span.appendChild(document.createElement("br")); span.appendChild(but); span.appendChild(document.createElement("br")); span.appendChild(document.createElement("br")); div.appendChild(span); } } function Proverka(el, i) { var div = document.getElementById("res"), sub; if (!parseInt(el.children[1].value)) { return alert("Введенное значение не является числом!"); } else { var sin = parseInt(el.children[1].value)-Math.sin(parseInt(el.children[1].value))-0.25; /* если нужно в градусах то пишем var sin = (parseInt(el.children[1].value) * Math.PI / 180)-Math.sin(parseInt(el.children[1].value) * Math.PI / 180)-0.25; */ } //div.innerHTML = ""; sub = document.createElement("sub"); sub.innerHTML = i; div.appendChild(document.createTextNode(" f(x")); div.appendChild(sub); div.appendChild(document.createTextNode(") = ")); div.appendChild(document.createTextNode(sin)); div.appendChild(document.createElement("br")); } function Cheb(a,b) { var a=a.value; var b=b.value; var n1=6; document.write("<br>"); document.write("a="+a); document.write("<br>"); document.write("b="+b); document.write("<br>"); document.write("n1="+n1); document.write("<br>"); document.write("Узлы Чебышева и значение данной функции в этих узлах"); document.write("<br>"); for (var i=0;i<n1; i++) { document.write("x"+i+"= "); var z=0.5*( (b-a)*Math.cos( (2*i+1)/(2*n1+1)*Math.PI)+b+a); document.write(z); document.write("<br>"); document.write("f(x"+i+")= "); var fz=z-Math.sin(z)-0.25; document.write(fz); document.write("<br>"); document.write("<br>"); /*document.write("(x- " + z+")"); document.write("<br>"); document.write("<br>");*/ } for (var i=0;i<n1; i++) { +document.write("(x- " + 0.5*( (b-a)*Math.cos( (2*i+1)/(2*n1+1)*Math.PI)+b+a)+")"); } } </script> </head> <body> <div>Пожалуйста, введите количество узлов</div> <input type="text" id="el" value="0"><input type="button" value="Перейти к вводу узлов" onClick="vvod_elementov(document.getElementById('el'))"> <div id="el_len"></div> <div id="res"></div> <div>Пожалуйста, задайте интервал [a;b] для расчета Чебышевских узлов </div> <div></div> <div> a=<input type="text" id="a" value="0"></div> <div></div> <div> b=<input type="text" id="b" value="0"></div> <div></div> <input type="button" value="Перейти к расчету узлов Чебышева" onClick="Cheb(a,b)"> <div></div> </body> </html> не получается по формуле сделать(( помогите пожалуйста |
Часовой пояс GMT +3, время: 14:01. |