решить систему нелинейных уравнений с 20 переменными - PullRequest
0 голосов
/ 07 ноября 2019

variable names where modified in the code but it is the same equation

Я дал более 20 баллов , каждая точка состоит из a, b, c, u, v (зеленый X, Y, Z, U, V). Уравнение находится в коде и пытается его решить с помощью fsolve.

Какой еще решатель я могу использовать? потому что fsolve, broyden и т. д. работают только с 20 уравнениями для 20 переменных не более, не менее. Также трудно угадать эти переменные, так где я могу их найти?

def point_equations(x):
  k = (1 + x[9] * x[10]**2 + x[11] * x[10] ** 4 + x[12] * x[10] ** 6)

  for i in range(10):
     eq_x.append(k * (x[14] * ((x[15] * a[i] + x[16] * b[i] + x[17] * c[i] + x[18]) / (x[5] * a[i] + x[6] * b[i] + x[7] * c[i] + x[8]))) + x[19] - v[i])
     eq_y.append(k * (x[0] * ((x[1] * a[i] + x[2] * b[i] + x[3] * c[i] + x[4]) / (x[5] * a[i] + x[6] * b[i] + x[7] * c[i] + x[8]))) + x[13] - u[i])
  return eq_x + eq_y

predict = [10., 10., 10.0, 10., 10., 10.0, 10., 10., 10., 0., 10., 0., 0., 10., 10.0, 10., 10., 10., 10., 10.]

x = fsolve(point_equations, predict)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...