Error Using Accumarray "Requested array exceeds the maximum possible variable size"

I am trying to generate a histogram but I keep on getting this error
Error using accumarray
Requested array exceeds the maximum possible variable size.
Error in Analyze (line 170)
zm=accumarray([Dfr' Zfr'],1,[nn nn]);
My code is here
n=100;
for i=1:1
ZZ=Zf{i};
DD=Df{i};
nn=repelem(n,144);
Zf2=linspace(min(ZZ(:)),max(ZZ(:)),n);
Df2=linspace(min(DD(:)),max(DD(:)),n);
Zfr=interp1(Zf2,1:numel(Zf2),ZZ,'nearest');
Dfr=interp1(Df2,1:numel(Df2),DD,'nearest');
zm=accumarray([Dfr' Zfr'],1,[nn nn]);
figure, surf(zm);
hold on
end
A segment of Df and Zf are pictured above

 采纳的回答

nn=repelem(n,144);
That is a vector of 144 copies of 100
[nn nn]
that puts two of those together, getting a 1 x 288 vector of 100's.
You are requesting that accumarray create an output that is 100^288 elements.
There are only roughly 3*10^80 particles in the observable universe.

4 个评论

Thank you that makes sense! Is there a better way to format this then in order to allow the histogram to be generated?
That yields the error
Error using accumarray
Third input SZ must be a full row vector with one element for each column of SUBS.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by