Accumarray error: First input SUBS must contain positive integer subscripts.
28 ビュー (過去 30 日間)
古いコメントを表示
Bianca Elena Ivanof
2016 年 6 月 27 日
コメント済み: Sean de Wolski
2016 年 6 月 30 日
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 件のコメント
採用された回答
Sean de Wolski
2016 年 6 月 27 日
[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 件のコメント
その他の回答 (1 件)
Andrei Bobrov
2016 年 6 月 28 日
[uval,~,subs] = unique(X0012_50(:,20)-X0012_50(:,17));
temp_raw_JE50AO = accumarray(subs,~X0012_50(:,13));
out = [uval, temp_raw_JE50AO];
4 件のコメント
Sean de Wolski
2016 年 6 月 30 日
Look at the documentation for examples and descriptions of what the pieces are:
doc unique
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!