Уравнения, с которыми я работаю в этой задаче, содержат экспоненты. По этой причине, после дифференцирования, они появляются снова почти без изменений, кроме дополнительных констант и других факторов. Мне было интересно, можно ли собрать эти экспоненты обратно в имя выражения, в котором они находятся. Вот пример:Упорядочить выражение после дифференцирования
Учитывая это определение функции
f:= x -> A*exp(B/x)
После дифференцирования, можно было бы получить
A*exp(B/x)*(-B/x^2)
И было бы здорово, если бы я мог каким-то образом преобразовать его в
f(x)*(-B/x^2)
Возможно ли это с помощью MuPad или любого другого пакета CAS?
Если вы просто хотите, чтобы распознавать функции, которые написаны так же, как исходная функция ф был, вы можете сравнить строки (действительно тупой метод). Но, если вы хотите, чтобы алгоритм извлекал функцию из выражений, выполняющих операции, это будет чертовски сложно, потому что это проблема поиска с бесконечными возможностями ... Например, когда: «f: x -> x - 1» с функцией ввода of: (x^2 - 1). Функцию ввода можно выразить через f (x) разными способами: f (x) * (x + 1), f (x)^2 + 2 * x - 2 или даже: (x^2 - 1) + f (x) - (x - 1) и т. Д. – Guarita
Я думаю, что сговорчивый способ может работать. @Guarita прав, у вас могут быть функции, которые равны математике, но не при преобразовании в строки, и это может быть проблемой, но я думаю, что вы можете упростить любую функцию в команде 'simplify' в mupad, и вы можете указать функцию в которой (как, например, полиномиальный и др.). Вероятно, просто commadn вернет тот же «тип» уравнения, поэтому результат может быть сопоставим по строкам. Не уверен, что это сработает, и если это произойдет, вероятно, не будет работать 100% раз, но было бы неплохо. –
Я понимаю, что вы имеете в виду, но, как и на бумаге, есть смысл, какое выражение лучше в зависимости от количество факторов и т. д. Вот почему я думал, что программы CAS тоже будут знать. –