Graphics Programs Reference
In-Depth Information
>> [x,y] = meshgrid(1:5,1:3)
x=
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
y=
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
>> clf
>> plt(x,y,'o')
>> axis([0.9 5 0.9 3])
Such matrices can be used, for example, as variables in functions of x
and y :
[x,y] = meshgrid(linspace(0,5),linspace(-10,10));
r = sqrt(x.^2 + y.^2);
contour(x,y,r)
axis equal
axis([-10 10 -10 10])
(More detail on the axis command can be found on page 119.) The
meshgrid function can be used to produce three-dimensional grids,
returning three-dimensional arrays that can be used in an analogous
manner. To go to more than three dimensions, you can use the function
ndgrid . The following example of a three-dimensional volume visualisa-
tion is taken from the help entry for ndgrid :
[x1,x2,x3] = ndgrid(-2:.2:2, -2:.25:2, -2:.16:2);
z = x2 .* exp(-x1.^2 - x2.^2 - x3.^2);
slice(x2,x1,x3,z,[-1.2 .8],[], -.2)
view(-24,28)
Exercise 12 What is the difference between the outputs of
meshgrid and ndgrid when generating grid matrices of less than
four dimensions? Why this difference? (Answer on page 189.)
Search WWH ::




Custom Search