hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 845|回复: 0

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

[复制链接]

557

主题

557

帖子

1898

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1898
发表于 2023-10-3 08:58:14 | 显示全部楼层 |阅读模式
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`

请教:这是什么原因?如何更正?谢谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-11-22 15:46 , Processed in 0.056327 second(s), 21 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

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