how to reduse the size of an array for meshgrid

36 visualizaciones (últimos 30 días)
Kafayat Olayinka
Kafayat Olayinka el 20 de Feb. de 2020
Comentada: Kafayat Olayinka el 21 de Feb. de 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 comentarios
Walter Roberson
Walter Roberson el 21 de Feb. de 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()
Kafayat Olayinka
Kafayat Olayinka el 21 de Feb. de 2020
imagesc(x,y,z) did not work for me. I might have to meshgrid(x,y) first.

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 21 de Feb. de 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)
  1 comentario
Kafayat Olayinka
Kafayat Olayinka el 21 de Feb. de 2020
i used contourf(X,Y,Z) instead and it worked!! thanks alot

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Line Plots en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by