@vaselekk

Есть ли скрипт?

Пробовал делать сам но вышло не очень
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 неизвестными?
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы