枫:有params [1];返回'a [0] = 2'如何使[0] = 2?

时间:2010-12-26 19:04:33

标签: arrays evaluation maple

所以我有一些名为params[];的数组,其中有a[0] = 2之类的内容。我想让所有这些项目真正意义我会称之为[0];并得到2.如何在枫树做这样的事情?

1 个答案:

答案 0 :(得分: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是方程式的条目,而另一些则是其他类型的条目(比如说只是标量表达式)。在这种情况下,您可能首先选择那些作为方程式,并且仅使用该子集进行分配。