Разработать алгоритм решения системы не линейных уравнений
5 000 руб. за проект
Есть система не линейных и не однотипных уравнений. Например такая:
V1*GR1 + V2*GR2 + V3*GR3 + V4*GR4 + V5*GR5 = 1
V1*RH1 + V2*RH2 + V3*RH3 + V4*RH4 + V5*RH5 = 1
V1*TN1 + V2*TN2 + V3*TN3 + V4*TN4 + V5*TN5 = 1
V1*DT1 + V2*DT2 + V3*DT3 + V4*DT4 + V5*DT5 = 1
V1 + V2 + V3 + V4 + V5 = 1
V4 = ((a * rw) / (rt * (V4+V5) ** m)) ** (1 / n)
a, m, n, rw, rt = известные константы (пример: a=1.05, m = 1.98, n = 2.3, rw=0.03, rt =5)
GR1..5, RH1...5, TN1...5, DT1...5 - известные константы.
Необходимо найти V1...V5 аналитическим путем.
Важна скорость решения, поэтому подбор значений не рассматривается.
Если бы последнего уравнения не было, то система очевидно решается предельно просто каким-нибудь scipy.optimize. Однако сложность в том, что есть дополнительное ограничение в виде жесткой связи между V4 и V5.
Пример данных во вложении. В идеале алгоритм должен решить задачу для всех строк в файле примера не более чем за 2 секунды.
V1*GR1 + V2*GR2 + V3*GR3 + V4*GR4 + V5*GR5 = 1
V1*RH1 + V2*RH2 + V3*RH3 + V4*RH4 + V5*RH5 = 1
V1*TN1 + V2*TN2 + V3*TN3 + V4*TN4 + V5*TN5 = 1
V1*DT1 + V2*DT2 + V3*DT3 + V4*DT4 + V5*DT5 = 1
V1 + V2 + V3 + V4 + V5 = 1
V4 = ((a * rw) / (rt * (V4+V5) ** m)) ** (1 / n)
a, m, n, rw, rt = известные константы (пример: a=1.05, m = 1.98, n = 2.3, rw=0.03, rt =5)
GR1..5, RH1...5, TN1...5, DT1...5 - известные константы.
Необходимо найти V1...V5 аналитическим путем.
Важна скорость решения, поэтому подбор значений не рассматривается.
Если бы последнего уравнения не было, то система очевидно решается предельно просто каким-нибудь scipy.optimize. Однако сложность в том, что есть дополнительное ограничение в виде жесткой связи между V4 и V5.
Пример данных во вложении. В идеале алгоритм должен решить задачу для всех строк в файле примера не более чем за 2 секунды.
- Файлы
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.