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

6 次查看(过去 30 天)
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

采纳的回答

Walter Roberson
Walter Roberson 2020-11-25
编辑:Walter Roberson 2020-11-25
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 个评论
Andrew Stark
Andrew Stark 2020-11-26
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 个)

类别

Help CenterFile Exchange 中查找有关 Histograms 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by