2

我是 Maple 的绝对初学者,在理解以下内容时遇到问题:

以下不起作用:

f:=(x)->x^2;
df_wrong:=(x)->diff(f(x),x);

由于df_wrong(1);总是产生以下“错误,(在 df_wrong 中)无效输入:diff 收到 1,这对其第二个参数无效”。一段时间后,我发现以下解决了这个问题:

df_correct := unapply(diff(f(x), x), x);

由于df_correct(1);. 谁能解释一下使用中的问题是什么df_wrong,也许为什么要unapply()解决这些问题?

我已经检查了 Maple 的解释unapply(),但不知何故对我来说仍然不是很清楚。

提前致谢!

4

1 回答 1

2

在您的错误版本中,您的函数x用作函数运算符。当您输入时1df_wrong(1)被解析为diff(f(1),1),这是无稽之谈:您无法区分 wrt。一个常数。

函数式的好处unapply是它返回一个函数式运算符。这意味着您可以操纵事物,然后将其用作操作员。这与操作员分配命令形成对比,该命令x -> ...使x操作员成为整个右手侧的操作员。

于 2016-07-28T08:09:19.920 回答