surf in for loop crashes matlab?

2 vues (au cours des 30 derniers jours)
koji takahashi
koji takahashi le 22 Déc 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!

Réponses (3)

Walter Roberson
Walter Roberson le 22 Déc 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 le 22 Déc 2011
not that big, i think. about 20 30x30 matrices. that shouldn't chew up memory should it?

koji takahashi
koji takahashi le 23 Déc 2011
is there a better way to do this?
  1 commentaire
Walter Roberson
Walter Roberson le 23 Déc 2011
Not that I can think of at this time?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Graphics Performance dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by