How do I vectorize this?

3 Ansichten (letzte 30 Tage)
Walter
Walter am 29 Apr. 2019
Kommentiert: Walter am 29 Apr. 2019
I'm not sure how to even ask this question without code... I am trying to create a 2d matrix of sums from grouping variables--I tried splitapply but that didnt seem to get me exactly what I want, which is a way to do what I show below:
n = 100;
X = randsample(1:9, n, true);
Y = randsample(15:20, n, true);
Z = rand(n, 1);
[ji, ~, jL] = grp2idx(X);
[di, ~, dL] = grp2idx(Y);
nJ = numel(jL);
nD = numel(dL);
Ts = zeros(nJ, nD);
for i=1:nJ
for j=1:nD
Ts(i,j) = sum(Z(ji==i&di==j));
end
end
  2 Kommentare
Walter Roberson
Walter Roberson am 29 Apr. 2019
accumarray looks appropriate
Walter
Walter am 29 Apr. 2019
yup! That's it! thank you!

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Encryption / Cryptography finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by