Мне нужно понять, как аккумулировать код, который мне действительно нужен.Понимание накопителя в Matlab
Я пытался понять http://www.mathworks.co.kr/kr/help/matlab/ref/accumarray.html
Большинство примеров было ясно.
Тем не менее, в 1-ом примере примера 2, я подумал
(1,2) -й элемент B должен быть 1
, потому что
(1,2) = 1st, 2nd of subs
1st, 2nd of vals = 101, 102
sum(diff([101,102]))=1
Кроме того, во 2-й пример из примера 2, я думал, что
(1,2) -ый элемент B1 должен быть 2 вместо -2
потому
(1,2) = 1st, 3rd of subs
1st, 3rd of vals = 101, 103
sum(diff([101,103]))=2
, а также я думал
(4,1) -го элемента В1 должно быть 1 вместо -1
потому
(4,1) = 5,6th of subs
5,6th of vals = 105,106
sum(diff([105,106]))=1
Что мне не хватает?
Пожалуйста, исправьте, мне нужно понять, что аккумулировать в глубину, чтобы написать собственный код.
Просто заметили, что вы задали очень похожий вопрос раньше. http://stackoverflow.com/questions/17774015/matlab-accumarray-unexpectedly-changing-ordering – grantnz
Спасибо. Но тогда как я могу узнать, пройдет ли MatLab [102 101] или [101 102]? Если я этого не знаю, то, очевидно, я не могу систематически кодировать. – user1849133
chappjc показывает, как сортировать субтитры и применять этот порядок сортировки к vals, чтобы получить ответ, который вам нужен. – grantnz