<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Метод прогонки</title>
<style type="text/css">
input
{
width: 100%;
margin-bottom: 25px;
}
</style>
</head>
<body>
<span>Введите через пробел ненулевые элементы матрицы: </span>
<input type="text" id="matrix">
<br>
<span>Введите через пробел вектор свободных членов: </span>
<input type="text" id="free">
<br>
<button id="vector">Вычислить</button>
<br><br>
<span>Вектор a: </span>
<input type="text" id="n1"><br>
<span>Вектор b: </span>
<input type="text" id="n2"><br>
<span>Вектор c: </span>
<input type="text" id="n3"><br>
<span>Вектор d: </span>
<input type="text" id="n4"><br>
<br><br>
<span>Массив коэффициентов k: </span>
<input type="text" id="s1">
<br>
<span>Массив коэффициентов f: </span>
<input type="text" id="s2">
<br>
<script type="text/javascript">
var matrix = document.getElementById("matrix");
var free = document.getElementById("free");
var vector = document.getElementById("vector");
var n1 = document.getElementById("n1");
var n2 = document.getElementById("n2");
var n3 = document.getElementById("n3");
var n4 = document.getElementById("n4");
vector.onclick = function () {
var val = matrix.value;
var str = val.toString().split(" ");
var a = new Array();
var j = 0;
for (var i = 2; i < str.length; i+=3) {
a[j] = parseFloat(str[i]);
j++;
};
a.unshift(0);
n1.value = a;
var b = new Array();
var j1 = 0;
for (var i = 0; i < str.length; i+=3) {
b[j1] = parseFloat(str[i]);
j1++;
};
n2.value = b;
var c = new Array();
var j2 = 0;
for (var i = 1; i < str.length; i+=3) {
c[j2] = parseFloat(str[i]);
j2++;
};
c.push(0);
n3.value = c;
var d = free.value.toString().split(" ");
n4.value = d;
var s1 = document.getElementById("s1");
var s2 = document.getElementById("s2");
var k = new Array();
var f = new Array();
k[0] = -c[0] / b[0];
f[0] = d[0] / b[0];
for (var i = 1; i < b.length; i++) {
k[i] = -c[i] / (b[i] + a[i] * k[i - 1]);
f[i] = (-a[i] * f[i - 1] + d[i]) / (b[i] + a[i] * k[i - 1]);
};
s1.value = k;
s2.value = f;
};
</script>
</body>
</html>
нужно написать программу для метода прогонки. я ее еще не дописал. но столкнулся вот с таким багом: коэффициент f считается неправильно (проверял через эксель и устно) (формула введена правильно). может ли быть такое, что большое количество знаков после запятой повлияло на результат вычислений? и как это исправить? подскажите, пожалуйста
Сводка
Этот текст будет скрыт