为什么在通过 diff 定义函数时必须在 maple 中使用 unapply 运算符?
why do I have to use the unapply operator in maple, when defining a function by diff?
我是 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()
可以解决这些问题?
我已经查看了unapply()
的Maple解释,但我还是不太清楚。
提前致谢!
在您的错误版本中,您的函数使用 x
作为函数运算符。当你输入 1
时,df_wrong(1)
被解析为 diff(f(1),1)
,这是无稽之谈:你无法区分 wrt。一个常数。
unapply
函数的好处在于它 returns 是一个函数运算符。这意味着您可以 操纵事物,然后 将其用作运算符。这与使 x
成为整个右侧的运算符的运算符分配命令 x -> ...
相反。
我是 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()
可以解决这些问题?
我已经查看了unapply()
的Maple解释,但我还是不太清楚。
提前致谢!
在您的错误版本中,您的函数使用 x
作为函数运算符。当你输入 1
时,df_wrong(1)
被解析为 diff(f(1),1)
,这是无稽之谈:你无法区分 wrt。一个常数。
unapply
函数的好处在于它 returns 是一个函数运算符。这意味着您可以 操纵事物,然后 将其用作运算符。这与使 x
成为整个右侧的运算符的运算符分配命令 x -> ...
相反。