Я попытался переформатировать уравнения и ввести их непосредственно в символический набор инструментов, а функция решения просто выплевывает все уравнения, поэтому она не может найти эти переменные в нынешних уравнениях.
Есть ли у вас какие-либо знания о доменах или ограничениях для всех этих переменных? Если вы это сделаете, я бы посмотрел на определение всех этих, возможно, это позволило бы решателю найти решение для вас.
Чтобы вы могли быстро приступить к работе с символическим набором инструментов, вот ваши уравнения, отформатированные для соответствия:
equations := {
I2B + I2EQAB = I22B + I2EQBC,
I2A = I2EQAB + I2EQAC + I22A,
I2C + I2EQBC + I2EQAC = I22C,
I22B = IZB + IC1B,
IZB = IC2B + IZBB,
I22C = -I2C * Z2C * YC / 2 + IZC,
IZC = IC2C + IZCC,
I22A = IC1A + IZA1,
IC4A + IZA2 = IZBB + IZCC,
IZB * Z2LB + IC2B * 2 / YB = IC1B * 2 / YB,
I2C * Z2C = -IC2C * 2 / YC + IZC * Z2LC,
IZA1 * m * Z2LA + IC2A * 2 / (m * YA) = IC1A * 2 / (m * YA),
IC4A * 2 / ((1 - m) * YA) = IC2A * 2 / (m * YA) + IZA2 * (1 - m) * Z2LA,
I2EQBC * Z2EQBC + IZC * Z2LC = IZB * Z2LB,
I2B * Z2B + IC1B * 2 / YB,
I2C * Z2C + IC1C * 2 / YC,
I2A * Z2A + IC1A * 2 / (m * YA),
IZB * Z2LB + (1 - m) * Z2LA * IZA2 = IZA1 * m * ZL2A - I2EQAB * Z2EQAB,
IZA1 * m * Z2LA = IZA2 * (1 - m) * Z2LA + IZC * Z2LC + I2EQAC * Z2EQAC,
IC4A / ((1 - m) * YA) = IC2C / YC
}:
variables := {
m, I2A, I2B, I2C, I2EQAB, I2EQAC ,I2EQBC,
IZA1, IC1A, IC2A, IZA2, IC4A, IC1B, IZB,
IC2B, IZBB, IZC, IC2C, IZCC
}:
solve(equations, variables)
Чтобы указать, что все ваши известные переменные являются действительными числами, используйте эту команду:
assume(variables, Type::Real)
Также обратите внимание, что я считаю 36 уникальных переменных (если я не ошибся) в уравнениях, вы бы получили огромный список «что, если» для этих уравнений, если бы решатель смог получить результат. Я посмотрю на ваши уравнения и выясню, сможете ли вы сгруппировать их и решить их в меньших наборах.