为什么这不适用于分配函数:
F(t) := Matrix(matrixDE(A, t)[1])
使用标签引用输出时:
Matrix(matrixDE(A, t)[1]) (1)
F1(t) := (1)
matrixDE(A, t)[1] (2)
F2(t) := Matrix((2))
似乎索引操作[1]
是造成问题的原因,但我不明白这背后的机制。
我发现了这个question,但它并没有让我更聪明......
修改
我最终使用eval
和
F(x) := eval(Matrix(matrixDE(A, t)[1]), t = x)
付出的代价是F
的参数被命名为x
而不是t
。
答案 0 :(得分:1)
问题与索引无关。问题正是你在标题中所说的:你不能(正确地)通过直接使用(无代值)表达式来分配Maple函数;相反,你必须引用输出(或评估)。
更具体地说,它取决于这两个操作的所需顺序:参数化表达式的评估和参数值的替换。如果您想首先使用符号参数(在这种情况下 t )评估表达式,那么要使用的命令是 unapply :
F:= unapply(Matrix(matrixDE(A, t)[1]), t);