我只想使用一次变量的修改版本(不更改原始版本),所以我不想将它保存在新变量中。
例如:
a = [1 -2 3];
copy = a;
copy(a < 0) = 0;
b = [4 5 6] .* copy;
我可以将其简化为以下内容吗?
a = [1 -2 3];
b = [4 5 6] .* a(<0 = 0);
编辑:
上面的例子只是一个例子。一般的问题是如何在copy
不创建它的情况下获得由下面的代码生成的。
% `a` is a vector
% `cond` is a logical vector such as `size(a) == size(cond)`
% `num` is a number
copy = a;
copy(cond) = num;