1 / 21

Matlab Graphics

Introduction to Matlab:. Matlab Graphics. 3D Graphics. S. Awad, Ph.D. M. Corless, M.S.E.E. E.C.E. Department University of Michigan-Dearborn. 3D Graphics Topics. Creating Mesh and Surface Plots Viewing a Pseudocolor Matrix Creating Contour Plots Adding a Color-Bar Interpolating 3D Data.

afram
Download Presentation

Matlab Graphics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Matlab: Matlab Graphics 3D Graphics S. Awad, Ph.D. M. Corless, M.S.E.E. E.C.E. Department University of Michigan-Dearborn

  2. 3D Graphics Topics • Creating Mesh and Surface Plots • Viewing a Pseudocolor Matrix • Creating Contour Plots • Adding a Color-Bar • Interpolating 3D Data

  3. Assume that: » x=[-1:0.2:1]; y=[-1:0.2:1]; Mesh and Surface Plots • Useful for displayingfunctions of 2 variables or to visualize large matrices • Given a function f(x,y) of two variables: • We can plot the function z as a mesh or surface plot

  4. Calculating xx Height = Length of y Row = Vector x

  5. Generating xx in Matlab » x=[-1:0.5:1]; » xx=ones(length(x),1)*x xx = -1.0000 -0.5000 0 0.5000 1.0000 -1.0000 -0.5000 0 0.5000 1.0000 -1.0000 -0.5000 0 0.5000 1.0000 -1.0000 -0.5000 0 0.5000 1.0000 -1.0000 -0.5000 0 0.5000 1.0000

  6. Calculating yy Length = Length of y Column = y Transpose

  7. Generating yy in Matlab » y=[-1:0.5:1]; » yy=y'*ones(1,length(y)) yy = -1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 0 0 0 0 0 0.5000 0.5000 0.5000 0.5000 0.5000 1.0000 1.0000 1.0000 1.0000 1.0000

  8. Find xx & yy Using Meshgrid » [xx,yy] = meshgrid(x,y) xx = -1.0000 -0.5000 0 0.5000 1.0000 -1.0000 -0.5000 0 0.5000 1.0000 -1.0000 -0.5000 0 0.5000 1.0000 -1.0000 -0.5000 0 0.5000 1.0000 -1.0000 -0.5000 0 0.5000 1.0000 yy = -1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 0 0 0 0 0 0.5000 0.5000 0.5000 0.5000 0.5000 1.0000 1.0000 1.0000 1.0000 1.0000

  9. Find z • Find z using element by element computations » z=xx.*exp(-xx.^2-yy.^2) z = -0.1353 -0.1433 0 0.1433 0.1353 -0.2865 -0.3033 0 0.3033 0.2865 -0.3679 -0.3894 0 0.3894 0.3679 -0.2865 -0.3033 0 0.3033 0.2865 -0.1353 -0.1433 0 0.1433 0.1353

  10. Mesh Plot z » mesh(x,y,z) • Finer increments of x and y will smooth the surface

  11. Mesh for a Larger x & y • Create a new mesh plot complete with labels » x =[-2:0.2:2]; » y =[-2:0.2:2]; » [xx,yy]=meshgrid(x,y); » z=xx.*exp(-xx.^2-yy.^2); » mesh(x,y,z) » title('Larger Mesh'); » xlabel('X Data'); » ylabel('Y Data'); » zlabel('z=xx.*exp(-xx.^2-yy.^2)');

  12. Surface Plot of z » surf(x,y,z) • Plots the colored parametric surface where color is proportional to surface height

  13. Pcolor » pcolor(x,y,z) • pseudocolor or "checkerboard" plot of matrix • The values of the elements specify the color in each cell of the plot

  14. Number of Contour Lines Contour Plots • contour plot of matrix where z contains heights above a plane » contour(x,y,z,16); » title('Contour');

  15. Displaying Contour Heights • To write the values identifying the heights: » cs=contour(x,y,z,16); » clabel(cs); » title('Contour Heights');

  16. Meshc Contour Plots • meshc is same as mesh except that a contour plot is drawn beneath the mesh » meshc(x,y,z) • Only works for surfaces defined on a rectangular grid

  17. Adding a Colorbar • colorbar adds a vertical line (color scale) to show the contour plots

  18. 3D Interpolation • Rough or scattered data can be interpolated using mesh • The original data is plotted as a mesh by: » x=[-3:3]; y=[1:5]; » [xx, yy]=meshgrid(x,y); » z= xx + yy; » mesh(x,y,z); » title('Original Mesh Grid'); » xlabel('X Data'); ylabel('y Data'); » zlabel('z = xx + yy');

  19. Mesh of Rough Data • Original Course Surface where: x = [-3:3] y = [1:5] z = xx+yy

  20. Interpolation of Data • The original mesh from the data is can be improved by creating interpolated values using griddata: » xi=[-3:0.5:4]; % Interpolated x axis » yi=[ 0:0.2:5]; % Interpolated y axis » [xxi,yyi]=meshgrid(xi,yi); » % zi = interpolated values » zi=griddata(xx,yy,z,xxi,yyi); » mesh(xxi,yyi,zi); % Better surface » title('Interpolated Mesh Grid'); » xlabel('X Data'); ylabel('y Data'); » zlabel('z = xx + yy');

  21. 3D Interpolation Plot • Interpolated Smooth Surface where: xi = [-3:0.5:4] yi = [ 0:0.2:5]

More Related