我想知道是否有某种方法,如何根据逻辑向量将值分配给不同的变量。
例如:
我有变量a, b, c
和逻辑向量l=[1 0 1]
以及值为v
的向量,但仅适用于a
和c
。向量v
正在改变其维度,但每次都与l
中的true数相同。
我想为a
和c
分配新值,但b
必须保持不变。
有什么想法吗?也许有非常微不足道的方式,但我没有弄清楚。
非常感谢。
答案 0 :(得分:1)
我认为您的问题是,您以非结构化方式存储结构化数据。您假设a
b
c
具有自然顺序,这很明显,但代码中没有显示。
使用向量a
替换b
c
x
使其成为一项非常简单的任务。
x(l)=v(l);
假设你想保留你的变量名,我知道的最简单的可能就是编写一个函数:
function varargout=update(l,v,varargin)
varargout=varargin;
l=logical(l);
varargout{l}=v(l);
end
用法是:
[a,b,c]=update(l,v,a,b,c)