如何在Maxima中交换数组

时间:2014-10-11 08:10:59

标签: swap maxima

我在交换数组时遇到问题

阵列(A,1,4); 阵列(C,1,4);

我试过了:

[a,c]: [c,a]

这样:

[a[1,1],c[1,1]]: [c[1,1],a[1,1]],
 [a[1,2],c[1,2]]: [c[1,2],a[1,2]],
 [a[1,3],c[1,3]]: [c[1,3],a[1,3]]

和此:

f(t1,t2):= block(for i:1 while i<=3 do(
 t[1,i]: t1[1,i],
 t1[1,i]: t2[1,i],
 t2[1,i]: t[1,i]
 ));

但它不会起作用。

我感谢任何帮助兄弟。

1 个答案:

答案 0 :(得分:0)

如果您不介意复制数据

(%i1) array(a, 4, 1)$

(%i2) fillarray(a, makelist(i, i, 10))$

(%i3) listarray(a);
(%o3)                   [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
(%i4) array(b, 4, 1)$

(%i5) fillarray(b, makelist(10*i, i, 10))$

(%i6) listarray(b);
(%o6)              [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
(%i7) array(c, 4, 1)$

(%i8) fillarray(c, a)$

(%i9) fillarray(a, b)$

(%i10) fillarray(b, c)$

(%i11) remarray(c)$

(%i12) listarray(a);
(%o12)             [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
(%i13) listarray(b);
(%o13)                  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]