Julia中的数组变量

时间:2018-04-17 15:02:54

标签: arrays julia

我遇到了一些对数组变量感兴趣的事情。假设我创建了

A=[1. 2;3 4]然后定义B=A。如果我然后设置A[1,1]=7,则[1,1]中的B条目会发生变化。但是,如果我设置A=ones(2,2),则B中的条目不会更改。

有任何意见吗?

1 个答案:

答案 0 :(得分:1)

B=AA分配给B创建副本。因此AB都指向同一块内存。改变B中的内容也将不可避免地改变A,反之亦然。 AB 相同,需与A === B核对(请注意三个等号)。

您可以A创建C = copy(A)的副本。请注意,在这种情况下A == C只有A !== C,即它们具有相同的条目,但不是相同的

A = ones(2,2)分配一个新的2x2数组,并用1(ones(2,2))填充,然后将此数组分配给AA = ...)。因此,与B的任何连接都将丢失。请注意,如果您执行A .= ones(2,2)(请注意指示就地分配的等号前面的点),您也会更改B