Accumarray error: First input SUBS must contain positive integer subscripts.
28 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Bianca Elena Ivanof
el 27 de Jun. de 2016
Comentada: Sean de Wolski
el 30 de Jun. de 2016
Hello,
The accumarray function is causing me problems - the error is embedded within the question. Attached you find a sample file and below you find the piece of code I wrote:
temp_raw_JE50=X0012_50(:,20)-X0012_50(:,17); % raw overall JE50
temp_AO50=ismember(X0012_50(:,13),0); % AO trials (0's) in col. 13 of temp_file_50
temp_raw_JE50AO= accumarray(temp_raw_JE50,temp_AO50); % raw JE50 for AO trials only
Could you please be so kind as to help me?
Bianca
0 comentarios
Respuesta aceptada
Sean de Wolski
el 27 de Jun. de 2016
[uval,~,subs] = unique(temp_raw_JE50);
accumarray(subs,vals)
You most likely want to accumulate by the unique values. Since these aren't necessarily positive integer indices, use unique first and pass the indices into accumarray.
1 comentario
Más respuestas (1)
Andrei Bobrov
el 28 de Jun. de 2016
[uval,~,subs] = unique(X0012_50(:,20)-X0012_50(:,17));
temp_raw_JE50AO = accumarray(subs,~X0012_50(:,13));
out = [uval, temp_raw_JE50AO];
4 comentarios
Sean de Wolski
el 30 de Jun. de 2016
Look at the documentation for examples and descriptions of what the pieces are:
doc unique
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!