|
Maple 初学者求助,假设我们已经为变量 a, a1, b, b1, c, c1, d, d1 之类的变量赋值,现在想写一个函数(有点像 c 语言的宏扩展),比如说 t,t(a) 返回 a1 的值,t(b) 返回 b1 的值,t(c) 返回 c1 的值,...,例如 t := x -> eval(cat(x), 1); distance2 := x -> x * t(x);
希望实现调用诸如 distance2(a) , distance2(b),distance2(c) 返回 a, b, c 到原点的距离。
下面是我尝试写的一段代码:
restart;
t := x -> eval(cat(x, 1));
u := a + b*I; u[1] := a - b*I; u1 := a^2 + b^2*I; print("t(u) = ", t(u))
w := m + n*I; w1 := m - n*I; print("t(w) = ", t(w))
结果很奇怪,t(u) 似乎能返回 u1 的值,t(w) 却不能返回 w1 的值:
"t(u) = ", a^2 + b^2*I
"t(w) = ", `m+n*I1`
请教:这是什么原因?如何更正?谢谢。 |
|