Я пытаюсь решить уравнение AX = B
в R.Как получить неотрицательные решения матрицы в R?
У меня есть две матрицы А и В:
A = matrix(c(1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,
0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,
0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,
0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,
1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0), byrow = T, nrow = 10, ncol = 16)
B = matrix(c(1900,2799,3096,3297,3782,4272,7783,10881,7259,30551), nrow = 10, ncol = 1)
Мой вопрос, как я могу решить AX = B
и быть гарантировано неотрицательное решение ? Значения, которые я решаю для (X1, X2,...X15, X16
), являются числами населения, поэтому они не могут быть отрицательными. В идеале они также были бы целыми значениями, но только одно.
Есть ли простой способ сделать это в R?
Я нашел один из способов сделать это here, но это не дает положительного результата для всех X
, что и я после.
Это, кажется, больше математики вопрос, а не вопрос программирования. Возможно, вы должны спросить об этом на [Math] (http://math.stackexchange.com/) или [CrossValidated] (http://stats.stackexchange.com/)? – r2evans
@ r2evans Я больше интересуюсь программированием, чем сама математика. Я надеялся, что кто-то знает, как решить эту проблему в R. – ultimate8
Я не понимаю. Если алгебра дает отрицательное значение, это отрицательно. Нельзя заставить его быть позитивным. – Roland