Как принудительно увеличить ограничение коэффициентов для np.linalg.lstsqPython

Программы на Python
Гость
Как принудительно увеличить ограничение коэффициентов для np.linalg.lstsq

Сообщение Гость »


У меня есть линейная система уравнений


Изображение


и мне нужно найти x, который минимизирует ошибку наименьших квадратов


Изображение


с ограничением увеличения положительных значений элементов x;


[img]https://latex.codecogs.com/gif.latex?0&space;>> A = np.array([[4.737, 4.673, 4.664, 4.614, 4.614], [4.491, 4.377, 4.38, 4.401, 4.406], [2,496, 1,689, 1,68, 1,62, 1,64], [3,461, 3,136, 2,816, 2,723, 2,551], [2,814, 2,4, 2,444, 2,423, 2,436]]) >>> y = np.array([4.90909091, 4.86363636, 1.86363636, 2.63636364, 3.63636364]) >>> x = np.linalg.lstsq(A, y) >>> х[0] массив([ 1.27108078, -22.41177441, 20.48017772, 37.03891117, -35.2836762 ]) Хотя мне бы хотелось иметь возрастающие значения для c[0]

Я знаю, что могу также использовать scipy.optimize.nnls для получения положительных коэффициентов, но это не будет учитывать ограничение «растущий коэффициент».

Вернуться в «Python»