gpt4 book ai didi

matlab - 从具有特定索引的向量创建矩阵,无需循环

转载 作者:行者123 更新时间:2023-12-03 21:38:36 25 4
gpt4 key购买 nike

我有一个像这样的向量和矩阵:

v = [0.3 -3 3 -2 7 6]
INDEX = [1 3; 3 5; 4 6]

INDEX 是一个矩阵,指示 RESULT 行必须具有的 v 上的第一个和最后一个元素。我确保 INDEX 中的每个间隔,即1 to 33 to 54 to 6 具有相同的长度,因此 RESULT 矩阵中的每一行长度相同。

我想获得这样的矩阵:

RESULT = [0.3 -3  3; 
3 -2 7;
-2 7 6]

如何在没有 for 循环的情况下执行此操作?

最佳答案

确定INDEX每行的最后一个值和第一个值之间的差异。使用此差异生成所需的索引,然后使用这些索引提取所需的值。

idx = [INDEX(:,1) INDEX(:,1)+[1:INDEX(1,end)-INDEX(1,1)]];  %Generating the indices
%for finding indices in <= R2016a, use this:
%idx = [INDEX(:,1) bsxfun(@plus, INDEX(:,1), [1:INDEX(1,end)-INDEX(1,1)])];
RESULT = v(idx);

关于matlab - 从具有特定索引的向量创建矩阵,无需循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48697043/

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