surf in for loop crashes matlab?

2 visualizzazioni (ultimi 30 giorni)
koji takahashi
koji takahashi il 22 Dic 2011
hello, i'm trying to use surf in a for loop to show the cross section of all the surfaces which are stored (as matrices) within a struct. i'm using R2010b on a UNIX machine. About half the time that I run this part of the code, matlab crashes and the core_dump file is empty. The Z matrices all have the same XY dimensions, hence the same X and Y matrices are used within the loop. Any ideas?
The code is as follows:
figure(1)
hold on;
offset = 0; % value to offset each surface map in the for loop
for i=1:numel(maps)
% show all surfaces with colormap defined by Z_matrix, and offset by give value
surf(X_matrix, Y_matrix, maps{i}.Z_values + offset, maps{i}.Z_values);
offset = offset + 100;
end
view([0 50 0]);
hold off
THANKS!

Risposte (3)

Walter Roberson
Walter Roberson il 22 Dic 2011
It probably isn't the surf() itself, but rather the fact that because you have "hold on", all of the graphics information for all of the surf plots is accumulating in memory.
How big are your matrices, and how many of them are you plotting?

koji takahashi
koji takahashi il 22 Dic 2011
not that big, i think. about 20 30x30 matrices. that shouldn't chew up memory should it?

koji takahashi
koji takahashi il 23 Dic 2011
is there a better way to do this?

Categorie

Scopri di più su Graphics Performance in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by