From: Simon on
Hello,

I am having difficulty with the surf command. I have a 400x400 matrix 'Z' which I want to plot using

surf(Z)

This appears to work but the resulting figure allows no interaction - i.e. I can't rotate it enlarge it or so on. If I plot a subset of the elements of Z

surf(Z(1:n,1:n))

there are no problems up until n=19 at which point the same sort of freezing occurs. There is nothing unsual about the matrix elements. In fact I have the same problem with

x=[1:1:20];
y=x;
z=x'*y;
surf(z)

Strangely if I use surfc I don't have these problems and can plot and rotate the whole 400x400 matrix.

Can anyone explain this and possibly tell me some setting that I can change to stop the same thing happening in future?

Many thanks!
Simon.
From: Steven Lord on

"Simon " <s.t.banks(a)ucl.ac.uk> wrote in message
news:hqhfvl$pod$1(a)fred.mathworks.com...
> Hello,
>
> I am having difficulty with the surf command. I have a 400x400 matrix 'Z'
> which I want to plot using
>
> surf(Z)
>
> This appears to work but the resulting figure allows no interaction - i.e.
> I can't rotate it enlarge it or so on. If I plot a subset of the elements
> of Z
>
> surf(Z(1:n,1:n))
> there are no problems up until n=19 at which point the same sort of
> freezing occurs. There is nothing unsual about the matrix elements. In
> fact I have the same problem with

From that description, I'm guessing it's an interaction between your OpenGL
driver and MATLAB. To check this, execute this command:

opengl neverselect

and then create the SURF plot. If this works correctly, you can put this in
your startup.m as a workaround, and check with your graphics driver's
manufacturer to see if they've fixed this in an updated driver.

For more information on rendering issues, read this document:

http://www.mathworks.com/support/tech-notes/1200/1201.html

--
Steve Lord
slord(a)mathworks.com
comp.soft-sys.matlab (CSSM) FAQ: http://matlabwiki.mathworks.com/MATLAB_FAQ


From: Simon on
Thanks Steve, that worked a treat. A bit odd that the problem is there but the fix works well.

Thanks,
Simon.