Решение уравнения мощности в Maple

у меня есть функция

f := x -> -5.582656463587253/L^1.877207104415696;

Если я попытаюсь найти x с помощью

solve(abs(f(x)) = 3, x);

вычисление занимает очень много времени, и если я делаю это несколько раз, мой компьютер ломается.

Разве это не должно быть просто

abs(-5.582656463587253/L^1.877207104415696) = 3

5.582656463587253/L^1.877207104415696 = 3

L^1.877207104415696 = 5.582656463587253/3

L = (5.582656463587253/3)^(1/1.877207104415696)
  = 1.392134989

person Jamgreen    schedule 23.05.2016    source источник


Ответы (1)


Компьютеры на базовом уровне глупы. И буквально. Несмотря на недавние преимущества так называемого искусственного интеллекта.

Таким образом, вы обнаружите, что даете задачу найти x в уравнении, которое не содержит символ x, а только необъявленный символ L. И, очевидно, в вашем примере вычисления вы решаете для L, а не для x.

person Lutz Lehmann    schedule 23.05.2016
comment
Ой, извини. Я хотел решить для L. Вы не знаете, могу ли я ускорить вычисление решения? Я знаю, что мне нужно положительное значение, поэтому будет ли улучшение, если предположить, что L ›= 0? Могу ли я использовать fsolve вместо solve? Для меня это выглядит как довольно простое вычисление, поэтому я не понимаю, почему в Maple это занимает так много времени. - person Jamgreen; 23.05.2016
comment
Сначала вы должны заменить все вхождения x на L в коде. Сделайте это и посмотрите на результат, прежде чем обсуждать альтернативные методы решения. - person Lutz Lehmann; 23.05.2016
comment
@CarlLove Я пытался использовать fsolve, но он возвращает отрицательное решение. Кажется, fsolve(..., useassumptions) недействителен с fsolve. Как я могу убедиться, что получу положительное решение? - person Jamgreen; 24.05.2016
comment
Я ответил на это в вашем отдельном вопросе. - person Carl Love; 24.05.2016