0

所以我有一些数组叫做params[];里面有类似a[0] = 2的东西。我想让所有这些项目成为真正的意义,我称之为 a[0]; 并得到 2. 如何在枫树中做这样的事情?

4

1 回答 1

1

这些不是实现目标的唯一方法。但希望他们会指导你。

一种方法是单独处理每个这样的方程(从params)。

restart:
params := array(1..3):
params[1] := a[0]=2:

params[1];
                        a[0] = 2

a[0];
                          a[0]

assign(params[1]);

a[0];
                           2

您可能拥有所有params方程式的条目,并希望一次为所有条目完成相同的任务。

restart:
params := array(1..3):
params[1] := a[0]=2:
params[3] := a[5]=7:

params[1];
                        a[0] = 2

a[0], a[5];
                       a[0], a[5]

entries(params);
                 [a[0] = 2], [a[5] = 7]

assign(entries(params));

a[0], a[5];
                          2, 7

或者,您可能希望使用大写数组而不是小写数组(在现代 Maple 中已弃用)。

restart:
params := Array(1..3):
params[1] := a[0]=2:
params[3] := a[5]=7:

params[1];
                        a[0] = 2

a[0], a[5];
                       a[0], a[5]

map(rhs,rtable_elems(params));
                  {a[0] = 2, a[5] = 7}

assign(%);

a[0],a[5];
                          2, 7

或者你可能有一些params是方程式的条目,而另一些是其他类型的(比如说,仅仅是标量表达式)。在这种情况下,您可能首先选择那些作为方程式,并且仅使用该子集进行分配。

于 2011-01-02T05:39:09.033 回答