我有向量A = [2 3 1]
和矩阵
B = [0 1 2;
3 4 5;
6 7 8];
我希望能够使用A中的元素作为逻辑索引器(开始和结束值)对B中的值求和。更具体地说,我希望我的代码执行以下操作:
sum(B(1:1,1)
,sum(B(1:2,2)
,sum(B(1:3,3))
以获得最终的矢量C,使得
C = [3 12 2]
我有大量数据,所以我想避免使用for循环,因为它们似乎会大大降低代码的速度。
提前致谢,
我认为这是您追求的目标:
t = arrayfun(@(n)sum(B(1:A(n),n),1),1:numel(A))
t =
11 15 6
输入:
A =
2 3 1
B =
8 1 6
3 5 7
4 9 2
我假设您希望列号增加,而行号可能会有所不同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句