【发布时间】:2021-11-27 13:30:03
【问题描述】:
考虑 Matlab 中的三个行向量,A、B、C,每个向量的大小为1xJ。我想构造一个矩阵D,大小为Kx3,列出每个三元组(a,b,c),这样:
-
a是A(a)在A中的位置。 -
b是B(b)在B中的位置。 -
A(a)-B(b)是C的一个元素。 -
c是A(a)-B(b)在C中的位置。 -
A(a)和B(b)与Inf、-Inf不同。
例如,
A=[-3 3 0 Inf -Inf];
B=[-2 2 0 Inf -Inf];
C=[Inf -Inf -1 1 0];
D=[1 1 3; %-3-(-2)=-1
2 2 4; % 3-2=1
3 3 5]; % 0-0=0
我希望这段代码高效,因为在我的实际示例中,我必须重复多次。
这个问题和我之前的问题here有关,但是现在我正在寻找元素的位置。
【问题讨论】:
-
如果
A和B变大,这可能在计算上变得非常昂贵,对这些值可能是什么或它们有多大有任何限制吗?否则很快就会有很多可能的A和B元素配对进行测试