对 Maple 中的最小值求和
Sum the minimum values in Maple
我在 Maple 中有一个列表 A := [3,1,7,2,4,9]
。
如何获得 n
最小值?
我需要对 n
个最小值求和,所以我想我应该使用类似
的东西
n := 3:
A := [3, 1, 7, 2, 4, 9]:
add( [ seq( min( A ), i=1..n) ] );
但它只会求和 1 + 1 + 1
,因为最小值每次都是 1。我需要在第一次出现时删除最小值。
一个简单的方法是先排序A
。
restart;
A := [3,1,7,2,4,9]:
n := 3:
B := sort(A);
B := [1, 2, 3, 4, 7, 9]
add(B[i], i=1..n);
6
如果某个值出现不止一次,您希望发生什么情况?
[编辑]
后续问题涉及如何从列表中删除 0
。这里有几种方法。
restart;
A := [3,1,0,7,2,0,4,0,9]:
remove(x->x=0, A);
[3, 1, 7, 2, 4, 9]
remove(type, A, identical(0));
[3, 1, 7, 2, 4, 9]
map(x->`if`(x=0,NULL,x), A);
[3, 1, 7, 2, 4, 9]
顺便说一句,当非零值出现不止一次时,你没有阐明你想要做什么。
我在 Maple 中有一个列表 A := [3,1,7,2,4,9]
。
如何获得 n
最小值?
我需要对 n
个最小值求和,所以我想我应该使用类似
n := 3:
A := [3, 1, 7, 2, 4, 9]:
add( [ seq( min( A ), i=1..n) ] );
但它只会求和 1 + 1 + 1
,因为最小值每次都是 1。我需要在第一次出现时删除最小值。
一个简单的方法是先排序A
。
restart;
A := [3,1,7,2,4,9]:
n := 3:
B := sort(A);
B := [1, 2, 3, 4, 7, 9]
add(B[i], i=1..n);
6
如果某个值出现不止一次,您希望发生什么情况?
[编辑]
后续问题涉及如何从列表中删除 0
。这里有几种方法。
restart;
A := [3,1,0,7,2,0,4,0,9]:
remove(x->x=0, A);
[3, 1, 7, 2, 4, 9]
remove(type, A, identical(0));
[3, 1, 7, 2, 4, 9]
map(x->`if`(x=0,NULL,x), A);
[3, 1, 7, 2, 4, 9]
顺便说一句,当非零值出现不止一次时,你没有阐明你想要做什么。