我有一个 2D 数组,我想通过 MATLAB 创建 1D 数组,以满足 1D 输出的每个元素都是由 2D 数组中给定索引的值创建的要求。二维数组示例是
A=[2 4 6; 1 9 7.3 4 5]
和一维数组的索引
X=[1;2;3]
Y=[1;2;3]
我想存储一维数组,其元素由下式确定
B=A(x,y) % x,y are index in X and Y matrix
构建一维数组的示例:
X=[1;2;3]
Y=[1;2;3]
B=[A(1,1);A(2,2);A(3,3)]=[2; 9; 5]
这是我的代码
B=zeros(1,length(A));
B=A(...) %I don't know it
我该如何实施?
谢谢大家。
您正在寻找sub2ind http://www.mathworks.com/help/matlab/ref/sub2ind.html:
A=[2 4 6; 1 9 7; 3 4 5]
X=[1;2;3]; Y=[1;2;3];
B = A(sub2ind(size(A),X,Y))
B =
2
9
5
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)