how to reduse the size of an array for meshgrid
13 views (last 30 days)
Show older comments
Kafayat Olayinka
on 20 Feb 2020
Commented: Kafayat Olayinka
on 21 Feb 2020
I have dataset of x,y,z
x=[1:13670];
y=[1:13670];
when i meshgrid x and y,
[X,Y]=meshgrid(x,y);
I recieved the following error:
Error using repmat
Requested 135670x135670 (137.1GB) array exceeds maximum array size preference. Creation of
arrays greater than this limit may take a long time and cause MATLAB to become
unresponsive. See array size limit or preference panel for more information.
how can i solve this problem?
Do I need to do some iteration? if so, how?
what will Z look like? will it be,
Z=z(X,Y);
11 Comments
Walter Roberson
on 21 Feb 2020
You have vectors of length 135670 that have integer x values 1 to 12, and corresponding y values over 200, and corresponding z values?
You should be using scatteredInterpolant()
Accepted Answer
Walter Roberson
on 21 Feb 2020
N = 100;
F = scatteredInterpolant(x, y, z);
xvals = min(x):max(x);
yvals = linspace(min(y), max(y), N);
[X,Y] = meshgrid(xvals, yvals);
Z = F(X, Y);
contour(X, Y, Z)
More Answers (0)
See Also
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!