数学研发论坛

 找回密码
 欢迎注册
查看: 45|回复: 0

[求助] 求助:maple 中,能否写一个函数 t,使得 t(a) 返回 a1 的值,t(b) 返回 b1 的值?

[复制链接]
发表于 2022-5-6 09:25:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?欢迎注册

x
本帖最后由 uk702 于 2022-5-6 09:28 编辑

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`

请教:这是什么原因?如何更正?谢谢。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2022-5-22 13:24 , Processed in 0.061282 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表