channelflow.org

Site Tools

gibson:teaching:fall-2012:math445:lab10

Math 445 Lab 10: 2D and 3D graphics

Important matlab commands: linspace, meshgrid, pcolor, surf, contour, surfc, contourf, quiver, mesh, load, subplot, pcolor, shading.

Part A: pcolor, meshgrid, shading, subplot

Skim the Matlab documentation for linspace, meshgrid, and pcolor. Create a 2D mesh from −π to π with 30 points in both the x and y directions. Then for each position in the mesh let z = cos(x) sin(y). Use pcolor, axis equal, and axis tight to generate the figure on the left. But don't you hate those ugly black lines? You can get rid of them with the shading command. Use subplot and the shading command to generate the figure on the right

Part B: surf

Create a 2D mesh from −π to π with 20 points in both the x and y directions, let z = cos(x) sin(y) pointwise, and then recreate this figure using the surf and colorbar commands.

Part C: surf in the shade

Create a 2D mesh from −10 to 10 with 100 points in both the x and y directions, let and z = 5 sin(r)/r. Then recreate Figure 4 using the surf and shading commands.

Attribution: based on Prof. Mark Lyon's “Advanced Graphics” lab for Math 445, which was adapted from an Octave demo.

Part D: surf 'n' subplot

Create a 2D mesh from −π to π with 100 points in both the x and y directions and then recreate Figure 5, using the functions z = cos(x/2) cos(y/2), z = sin(x) cos(y/2), z = cos(x/2) sin(y), and z = sin(x) sin(y).

Part E: mystery plot

Enter the following code into a script ﬁle, save the ﬁgure produced as a '.jpg' or '.png' image, and include it with your project. What does the image produce? What is the role of the 'C' variable?

[phi,theta] = meshgrid(linspace(0,2*pi,100));
X=(cos(phi) + 3) .* cos(theta);
Y=(cos(phi) + 3) .* sin(theta);
Z=sin(phi);
C=sin(3*theta);
surf(X,Y,Z,C)
shading interp

Bonus

Draw a Klein bottle in Matlab. Feel free to search the web, but understand whatever you use.