2014-11-01 125 views
1

我在枫树中有一个复杂的表达式,它取决于四个实参,比如a,b,c,d。让我们称这个表达式为f(a,b,c,d)。该表达式由导数,双曲函数的有限和不确定积分组成。通过不定积分,我的意思是像Int(g(x),x)这样的表达式。表达式f对于枫写出来是很大的,因此我想对它的数值计算a,b,c and d的不同值。我试图做evalf(value(f(a1,b1,c1,d1)),但这永远不会终止在枫树,我猜这意味着枫树首先试图简化f代数,然后插入真实值a1,b1,c1, and d1.评估在枫树中的表达式

有人可以帮我这个吗?

回答

0

删除命令。它试图象征性地评估你的积分,这可能是不可能的。只需使用evalf

+0

我试过这样做,但是我的表达式中的积分不计算。 – Trustar 2014-11-02 10:46:50

+0

通过降低要求的精度,可以对数学表达式中的积分进行数值计算。您可以使用**数字**和** epsilon **参数来** ** Int **。 – 2014-11-03 01:57:37

0

后的符号操作华普将在例如其他变量的条件返回一个表达式:

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

现在如果你写evalf(%),它将不能够评估任何数值,因为它不知道值为x。因此,您必须首先使用subs()函数来替换您想要评估结果表达式的值x

因此,在你的情况下,它将是subs([x=2, y=5], f(a, b, c, d))假设评估的表达式具有变量xy