我只是不明白accumarray的工作原理。我查了官方matlab documentation,但我仍然无法完全理解。Matlab - Accumarray混淆?
如果它是这样的,其中:
subs = [1
3
4
3
4]
val = 101:105';
accumarray(subs,val) =
[101
0
206
208]
我得到,这是A(1)= 101,A(2)= 0,A(3)= 102 + 104,和A( 4)= 103 + 105
但如果是这样的:
subs = [1 1
2 2
3 2
1 1
2 2
4 1]
val = 101:106';
accumarray(subs,val) =
[205 0
0 207
0 203
106 0]
我不理解的方法是如何工作....我有点得到A(1)= 101 + 104,然后A(2)= 102 + 105。
但为什么会在第二栏显示?另外,为什么[3 2]行不包含在计算中?
我知道这是一个非常简单的问题,但这是我第一次使用Matlab ..任何帮助,将不胜感激,谢谢!
这使得更多的意义谢谢你! – ocean800
真棒!很高兴我能帮上忙:)'accumarray'非常强大,但有时难以在概念上形象化。玩的开心! –