Пробовал делать сам но вышло не очень
function celoe(val) {
return (Math.ceil(val * 100) / 100)
}
var m = [
[1, 3, 2, 5],
[2, 1, 3, 4],
[3, 2, 4, 6],
]
m = redaction_matrica(m)
function redaction_matrica(m1) {
var v1 = []
var v0 = []
for (var i of m1) {
if (i[0] !== 0) {
v1.push(i)
}
if (i[0] == 0) {
v0.push(i)
}
}
for (var b of v0) {
v1.push(b)
}
return v1
}
function otnimanie_vectorov(a, b, coeff) {
var mass = []
for (var i = 0; i < a.length; i++) {
mass.push(a[i] - b[i] * coeff)
}
return mass;
}
m[1] = otnimanie_vectorov(m[1], m[0], m[1][0] / m[0][0]);
m[2] = otnimanie_vectorov(m[2], m[0], m[2][0] / m[0][0]);
/*
Матрица на текущем этапе должна выглядить так:
0 0 0
0 a1 a2
0 a3 a4
*/
var new_matrica = [
[m[1][1], m[1][2], m[1][3]],
[m[2][1], m[2][2], m[2][3]]
]
new_matrica = redaction_matrica(new_matrica)
new_matrica[1] = otnimanie_vectorov(new_matrica[1], new_matrica[0], new_matrica[1][0] / new_matrica[0][0]);
// a*t + a2*v + a3*u = b
var t = celoe((m[0][3] - (m[0][2] * u) - (m[0][1] * v)) / m[0][0])
var v = celoe((new_matrica[0][2] - (new_matrica[0][1] * u)) / new_matrica[0][0])
var u = celoe(new_matrica[1][2] / new_matrica[1][1])
console.dir(t)
console.dir(v)
console.dir(u)
Есть ли скрипт для нахождения неизвестных по методу гауса, для систем уравнений с 3 неизвестными?