In MATLAB, how do I plot irregularly spaced data?

To plot irregularly spaced data in MATLAB, use the TriScatteredInterp command to create a data structure for interpolation.

The example below plots a saddle-shaped surface by interpolating over 100 random data points:

  %Pick random x and y coordinates
  %  and compute z values.
  x = rand(100,1)*10-5;
  y = rand(100,1)*10-5;

  z = x.^2 -y.^2;

  %Construct the interpolant and use to evaluate
  %  zi for values (xi,yi)
  F = TriScatteredInterp(x,y,z);
  ti = -5:.1:5;

  [xi,yi] = meshgrid(ti,ti);
  zi = F(xi,yi);

  %Plot the interpolated surface in black
  plot3(xi,yi,zi,'k');

  %Add the original data points in red
  hold on; plot3(x,y,z,'or'); hold off

If you have questions about using statistical and mathematical software at Indiana University, contact Research Analytics. Research Analytics is located on the IU Bloomington campus at Woodburn Hall 200; staff are available for consultation Monday-Friday 9am-noon and by appointment.

This is document afqy in the Knowledge Base.
Last modified on 2015-05-20 00:00:00.

Contact us

For help or to comment, email the UITS Support Center.