matlab 程序中,多次重复实验,而每次重复中会对数据 X 加一些随机噪声。此处希望每次重复时深复制一次 X,使得本次的噪声不会影响原数据。
matlab 似乎能自动决定要不要复制一份?测试如下。
Code
- matlab R2018a
% 原数据
X{1} = reshape([1 : 1 : 9], [3, 3]);
X{2} = reshape([11 : 1 : 19], [3, 3]);
% "复制"一份
X1 = X;
% 加噪声:(伪)随机变 NaN
index{1} = [1 3];
index{2} = [1 2];
for v = 1 : 2
idx = index{v};
for i = idx
% 对 `X1` 加噪声
X1{v}(i, :) = nan;
end
end
% 原数据
disp(X{1});
disp(X{2});
% 加噪声的数据
disp(X1{1});
disp(X1{2});
结果表明,修改 X1
不会影响 X
。