Я пытаюсь решить проблему, которую можно решить с помощью MUC (метод неопределенных коэффициентов).
Однако, когда я использую функцию Solve, она выдает ошибку.
y[x_] := a x^3 + b x^2 + c x + d
Solve[{y''[x] + 2 y'[x] + y[x] == x^3}, {a, b, c, d}]
[ERROR]:
Solve::svars: Equations may not give solutions for all "solve" variables.
Разве это не должно решаться для всех переменных в наборе?
Спасибо за помощь :)
Спасибо за ссылку. Однако в документации не описано исправление для моего варианта использования. Я предполагаю, что Solve не применяет метод неопределенных коэффициентов, так как ошибка 'svars' указывает на то, что должно быть равное или большее количество равенств (но неопределенные коэффициенты могут быть найдены с использованием описанного метода).
Похоже, для этого нужен какая-то дополнительная методика.
Как вы сказали, функция с конечным набором производных для x^3
есть
y[x_] := a x^3 + b x^2 + c x + d
Приравнивающие коэффициенты
sol = Solve[Thread[CoefficientList[
y''[x] + 2 y'[x] + y[x], x] == CoefficientList[x^3, x]]]
{{a -> 1, b -> -6, c -> 18, d -> -24}}
Проверка результатов
FullSimplify[y''[x] + 2 y'[x] + y[x] == x^3 /. sol]
{True}
Я только что попробовал это; это не работает. Он возвращает решения со ссылкой на переменные, которые я пытаюсь решить.
Я пересмотрел свой ответ.
Спасибо. Этот ответ объясняет несколько вещей. Mathematica явно нуждается в явном определении определенных математических сценариев, а не в возможности автоматически идентифицировать эти типы вопросов автоматически. Действительно позор, учитывая, что я использую это программное обеспечение в старшей школе и предоставляется ограниченное обучение CAS, поэтому программные решения гораздо менее желательны (хотя я сам разработчик программного обеспечения!).
Да, это интересный пример необходимости знать технику. Я уверен, что есть много примеров, но вот старый, который я хорошо помню, пытаясь построить Sin[x^2*y]==Log[x/y]
: - forums.wolfram.com/mathgroup/archive/2008/May/msg00021.html