我一开始抱歉我的英语不好。 我试着用枫树做一些数学。
我的功能
func(x) = x*e^(-x)-0.06064
我试着计算 f(0.05)* f(0.06)< 0
bn:= 0
mn := 0.06
an := 0.05
if (evalf( subs( x = mn, func ) )*evalf( subs( x = an, func ) )) < 0 then bn := mn;
但是枫说:
无法确定此表达式是true还是false: (0.6000000000e-1 / E ^ 0.64692635994760e-1-0.6064e-1)*(0.5E-1 / E ^ 0.64692635994760e-1-0.6064e-1) &LT; 0
我可以做些什么来计算吗?
答案 0 :(得分:1)
你主要的困难在于Maple Notation以自然对数为基础的驱动就像是,
exp( -x )
而不喜欢,
e^( -x )
请注意您收到的错误消息中是否存在名称e
。在Maple中,名称e
在1D Maple Notation输入中没有特殊含义。
可能您只是将这些来电置于evalf
,因为您尝试使用e
解决问题。在您的示例中,浮点数具有足够的传染性以使evalf
调用不必要。
您可能也对这两个变体感兴趣,以从您的公式中获得实际的浮点数。我在这里省略了不必要的evalf
电话。
以下func
定义为表达式。
restart:
func := x*exp(-x) - 0.06064:
bn:= 0: mn := 0.06: an := 0.0:
eval( func, x=mn ) * eval( func, x=an );
0.0002506935207
此处func
定义为运算符。
restart:
func := x -> x*exp(-x)-0.06064:
bn:= 0: mn := 0.06: an := 0.0:
func( mn ) * func( an );
0.0002506935207
答案 1 :(得分:0)
我认为你的括号有点偏。试试这个:
if (evalf( subs( x = mn, func ) )*evalf( subs( x = an, func ) ) < 0) then bn := mn;