- 注册时间
- 2020-11-9
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 3808
- 在线时间
- 小时
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?欢迎注册
×
本帖最后由 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`
请教:这是什么原因?如何更正?谢谢。
|
|