list - Maxima:生成下标为 "multi-dimensional"的名词列表

标签 list subscript maxima

我想生成一个带下标的名词列表,其中下标是“多维的”。

例如,使用以下两个列表作为输入:

[1,5,2]
[3,5,1]

我想生成以下列表:

[a[3,1],a[5,5],a[1,2]]

这是一个工作示例:

(%i1) indexX : [1,5,2];
(%i2) indexY : [3,5,1];
(%i3) makelist(a[i], i, indexX);
(%i4) map(endcons, indexY, %);

(%o1) [1,5,2]
(%o2) [3,5,1]
(%o3) [a[1],a[5],a[2]]
(%o4) [a[3,1],a[5,5],a[1,2]]

这可行,但需要两行(调用 makelist() 然后调用 map())。因此它不是很优雅。

是否有更好的方法来达到类似的结果?

注意:数组不适合这项工作,因为 1. 索引可以是负数,2. 我不想为 [1,1] 之间的所有索引分配内存>[5,5] 因为我只使用其中的一些。

最佳答案

(%i1) display2d: false $
(%i2) indexX : [1,5,2] $
(%i3) indexY : [3,5,1] $
(%i4) map(lambda([[L]], arraymake('a, L)), indexX, indexY);
(%o4) [a[1,3],a[5,5],a[2,1]]

关于list - Maxima:生成下标为 "multi-dimensional"的名词列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29897980/

相关文章:

swift - 我如何创建一个带有返回可选的getter但返回非可选的setter的下标

maxima - 使用现有矩阵在 MAXIMA 中生成矩阵

python - 如何替换尺寸不均匀的文件中的某些列

c# - 如何防止列表中的项目在未填写且应为 "0"时返回 "null"?

java - 如何删除整个列表但只留下最后一个索引

字符数组下标警告

python - 如何访问对列表中对的每个元素?

php - 导入带下标字符的excel文件

tex - (wx)Maxima : general roots of numbers, 超出 sqrt?

list - 在 Maxima 列表中查找最大值和索引?