【发布时间】:2018-02-14 11:34:21
【问题描述】:
我有一个大数组的 X 和 Y 位置,我想用它们来定义那个位置的内容。我可以运行一个 for 循环来定义位置,但我认为会有更快的方法。我尝试使用数组位置定义函数。
x = [6,2,3]
y = [1,2,3]
c = [1,1,1,2,2,3;...
1,1,1,2,2,5;...
2,2,1,4,2,3;...
1,1,4,3,2,3;...
1,2,3,4,5,3;...
1,2,3,5,4,2];
当我输入上面的等式时,它会得到下面的答案
c(y,x)
ans =
1 2 3
1 1 1
2 2 1
我正在寻找的是数组中的 1:1 位置。
c(y(1),x(1))
c(y(2),x(2))
c(y(3),x(3))
有没有办法将数组限制为线性序列?我现在唯一的猜测是将数组重塑为包含单个 a 和 b 的单元矩阵,然后执行 cellfun。但我想我让它变得复杂了。
【问题讨论】:
-
使用
x和y作为线性索引,按列的长度-c(size(c,1)*(x-1)+y)