Error using accumarray First input SUBS must contain positive integer subscripts.
조회 수: 26 (최근 30일)
이전 댓글 표시
I am very much troubled solving this:
>> [X, Y, Z]=ndgrid(x,y,z);
>> C = round(ceil(Y./Z));
>> N = accumarray([X(:), C(:)], M(:));
Error using accumarray
First input SUBS must contain positive integer subscripts.
data file attached
I have already read all questions and answers about it here, cant figure out whats wrong.
thanks
댓글 수: 0
답변 (2개)
Stephen23
2019년 9월 14일
"I have already read all questions and answers about it here, cant figure out whats wrong."
After reading many answers, you should know by now that indices must be positive integers.
Now take a look at your x data:
>> x(:)
ans =
0.00000
0.05000
0.10000
0.15000
0.20000
0.25000
0.30000
0.35000
0.40000
0.45000
0.50000
0.55000
0.60000
0.65000
0.70000
0.75000
0.80000
0.85000
0.90000
0.95000
1.00000
How many of those values are positive integers? How many of those values can be used as indices?
Yet you try to use X (which simply contains values from x) as indices.
Walter Roberson
2019년 9월 15일
You also posted this in
and I gave a complete code solution there.
Your question there that led me to create that code for you had been strictly positive integers, but it turned out that your real data involved negatives for Z, and involved 0 as well as positive integers for Y, and involved real-valued X from 0 to 1. Those are quite different conditions that should have been stated ahead of time.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Numeric Types에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!