gpt4 book ai didi

Matlab:通过逻辑索引进行多重赋值

转载 作者:行者123 更新时间:2023-12-04 18:23:00 24 4
gpt4 key购买 nike

我想知道是否有某种方法,如何根据逻辑向量为不同的变量多次赋值。

例如:

我有变量 a, b, c 和逻辑向量 l=[1 0 1] 和带有值的向量 v 但只是为了ac。向量 v 正在改变其维度,但每次,它的大小都与 l 中 true 的数量相同。

我只想为 ac 分配新值,但 b 必须保持不变。

有什么想法吗?也许有非常琐碎的方法,但我没有弄明白。

非常感谢。

最佳答案

我认为您的问题是,您以非结构化方式存储了结构化数据。您假设 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)

关于Matlab:通过逻辑索引进行多重赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20601258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com