例如,我想将a的深层副本复制到b

>> a=zeros(2,3);
>> b=a;


因此,这里=仅创建一个浅表副本。我的问题是,在这种情况下如何生成深层副本?我知道我可以添加一条命令

b(1,1)=b(1,1)


使其成为深层副本。但是有更好的方法吗?

最佳答案

Matlab不会创建浅表副本,而是在写入时使用副本。除了运行时,这对您应该是完全透明的,这意味着matlab在需要时创建副本。不过,如果要强制复制,则可以使用此处提到的示例之一:https://stackoverflow.com/a/36062575/2732801

 B=A(:,:);

10-07 15:40