Abs
Abs[n]
返回数字 n 的绝对值。
Abs[3.0]; # => 3.0
Abs[-3.2]; # => 3.2
Abs[0]; # => 0
Add
Add[n1, n2, ...]
计算一个或多个数字的和。只传入一个数字时原样返回。
Add[1, 2, 3]; # => 6
Add[1.5, 2.4, -0.2]; # => 3.6999999999999997
Add[42]; # => 42
Add[1, 2, Add[3, 2], 7]; # => 15
All
All[list, predicate]
检测列表中是否所有元素都满足谓词 predicate。一旦遇到第一个返回 :false 的元素即短路,不再继续求值。
- 全部满足或列表为空时返回
:true。 - 否则返回
:false。
Let[v, { 1, 2, 3, 4 }];
All[v, Fun[{ x }, Less[x, 5]]]; # => :true
All[v, Fun[{ x }, Greater[x, 2]]]; # => :false
All[{ }, Fun[{ x }, Less[x, 0]]]; # => :true
And
And[condition, expression]
短路逻辑与。仅当 condition 为 :true 时才求值 expression。
- 若
condition为:false,立即返回:false。 - 否则返回
expression的求值结果。
And[Greater[1, 2], :any]; # => :false
And[Less[3, 5], Greater[9, 11]]; # => :false
And[Less[3, 5], :val]; # => :val
And[Less[3, 5], "test"]; # => "test"
Any
Any[list, predicate]
检测列表中是否存在至少一个元素满足谓词 predicate。一旦找到第一个返回 :true 的元素即短路。
- 任一元素满足时返回
:true。 - 全部不满足或列表为空时返回
:false。
Let[v, { 1, 2, 3, 4 }];
Any[v, Fun[{ x }, Greater[x, 3]]]; # => :true
Any[v, Fun[{ x }, Less[x, 0]]]; # => :false
Any[{ }, Fun[{ x }, Greater[x, 0]]]; # => :false
Append
Append[list, element]
返回一个新列表,包含原 list 的全部元素并在末尾追加 element。原列表不变。
Append[{ 1, 2, 3, 4 }, :five]; # => {1, 2, 3, 4, :five}
Append 不会修改原列表,需要结合 Update 才能持久化变更:
Let[v, { 1, 2, 3, 4 }];
Append[v, 5]; # => {1, 2, 3, 4, 5}
Print[v]; # {1, 2, 3, 4}
Update[v, Append[v, 5]];
Print[v]; # {1, 2, 3, 4, 5}
ArcCos
ArcCos[n]
计算 n 的反余弦,输入应在 $[-1, 1]$ 范围内,超出返回 NaN。结果以弧度表示,区间为 $\left[0, \pi\right]$。
ArcCos[1]; # => 0.0
ArcCos[-1]; # => 3.141592653589793
ArcCos[0.5]; # => 1.0471975511965976
ArcCos[2]; # => NaN
ArcSin
ArcSin[n]
计算 n 的反正弦,输入应在 $[-1, 1]$ 范围内,超出返回 NaN。结果以弧度表示,区间为 $\left[-\dfrac{\pi}{2}, \dfrac{\pi}{2}\right]$。
ArcSin[1]; # => 1.5707963267948966
ArcSin[-1]; # => -1.5707963267948966
ArcSin[0]; # => 0.0
ArcSin[2]; # => NaN
ArcTan
ArcTan[n]
计算 n 的反正切。结果以弧度表示,区间为 $\left(-\dfrac{\pi}{2}, \dfrac{\pi}{2}\right)$。
ArcTan[1]; # => 0.7853981633974483
ArcTan[0]; # => 0.0
ArcTan[-100]; # => -1.5607966601082315
ArcTan2
ArcTan2[x, y]
计算 $y / x$ 的反正切,利用两个参数的符号确定正确象限。
参数按 x, y 顺序传入,与数学坐标一致。同多数编程语言中 atan2(y, x) 的顺序相反。结果以弧度表示,区间为 $\left(-\pi, \pi\right]$。
ArcTan2[1, 1]; # => 0.7853981633974483
ArcTan2[-1, 1]; # => 2.356194490192345
ArcTan2[-1, -1]; # => -2.356194490192345
ArcTan2[0, 1]; # => 1.5707963267948966
ArcTan2[1, 0]; # => 0.0