gpt4 book ai didi

matlab - 使用向量元素选择矩阵元素

转载 作者:行者123 更新时间:2023-12-02 06:48:37 25 4
gpt4 key购买 nike

Matlab 有没有办法根据向量中的元素选择矩阵元素?我认为我的描述不清楚,但我实际上想做的是类似于:

A=zeros(3,3,3) %3d matrix
A(1,1,2)=5
b=[1,1,2]
A(b)=5

意思是,使用向量中的条目作为参数从矩阵中选择一个元素的一种简单方法。这个确切的示例不起作用,因为最后一行将 b 视为单个参数,而不是三个。我可以写 A(b(1),b(2),b(3)) 但我真正在这里寻找的是是否有一种好的方法。

最佳答案

方法一:使用sub2ind找到线性索引

您可以定义一个名为 findLinearIndex 的函数,以便将向量元素转换为 A 的线性索引:

findLinearIndex = @(A,b) sub2ind(size(A), b(1), b(2), b(3))
A(findLinearIndex(A,b)) = 5

方法二:通过 num2cell 将向量转换为元胞数组

然后,您可以使用{:}来获取索引

b_cell = num2cell(b) ;
A(b_cell{:}) = 5

关于matlab - 使用向量元素选择矩阵元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53742476/

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