Вычисление выражения в maple

У меня есть сложное выражение в maple, которое зависит от четырех реальных параметров, скажем, a,b,c,d. Назовем это выражение f(a,b,c,d). Это выражение состоит из производных, определенных и неопределенных интегралов гиперболических функций. Под неопределенным интегралом я подразумеваю такие выражения, как Int(g(x),x). Выражение f слишком велико для Maple, поэтому я хотел бы оценить его численно для разных значений a,b,c and d. Я пытался сделать evalf(value(f(a1,b1,c1,d1)), но это никогда не заканчивается в maple, что, я думаю, означает, что maple сначала пытается упростить f алгебраически, а затем подставляет реальные значения a1,b1,c1, and d1.

Может ли кто-нибудь помочь мне с этим?


person Trustar    schedule 01.11.2014    source источник


Ответы (2)


Удалите команду value. Он пытается вычислить ваши интегралы символически, что, вероятно, невозможно. Просто используйте evalf.

person Carl Love    schedule 01.11.2014
comment
Я пытался это сделать, но тогда интегралы в моем выражении не вычисляются. - person Trustar; 02.11.2014
comment
Возможно, удастся численно оценить интегралы в вашем выражении, уменьшив требуемую точность. Вы делаете это с параметрами digits и epsilon в Int. - person Carl Love; 03.11.2014

После символьной манипуляции Maple вернет выражение в терминах других переменных, например:

diff(x^2 + 2, x);  will return "2 x"

теперь, если вы напишете evalf(%), он не сможет вычислить какое-либо числовое значение, потому что ему неизвестно значение x. Поэтому вы должны сначала использовать функцию subs(), чтобы заменить значение x там, где вы хотите оценить результирующее выражение.

Таким образом, в вашем случае это будет subs([x=2, y=5], f(a, b, c, d)) при условии, что оцениваемое выражение имеет переменные x и y.

person Sourabh Bhat    schedule 02.11.2014