MATLAB Answers

Jérôme

Surf plot of my data

Asked by Jérôme
on 2 Apr 2013

Hello;

I have data in the following format : [X1 X2 F] where X1, X2 and F are all column vectors. F is a function evaluated on X1 and X2. I do not know what function it is, I only have the end result.

I successfully plotted my data using

% trainset contains the data as presented above
scatter3(trainset(:,1),trainset(:,2),trainset(:,3),30,trainset(:,3));
% I use the value of F for the coloring of the datapoints

However I would prefer a real surface plot, using surf(). But the format of my data is not suited to surf, apparently.

I thought about using meshgrid to make the grid matrices for X1 and X2, but since I don't know the function F, I won't be able to evaluate it on those grids ; I'm stuck with the dataset I'm provided with, in which F is already evaluated for some pairs of X1 and X2.

I might be missing something obvious but I really don't see how to get a surface plot with that kind of "blackbox" data.

Thanks in advance for your insights!

  0 Comments

Tags

Products

No products are associated with this question.

2 Answers

Answer by Walter Roberson
on 2 Apr 2013

Use griddata(). Or use triscatteredinterp to create an interpolator and interpolate it over a mesh created with ndgrid()

  0 Comments


Answer by Omid Adljuy
on 5 Apr 2013

Probably the TriScatteredInterp command will help you do what you're looking for.

See MATLAB Help for mor details and examples.

This tutorial video shall also help.

  0 Comments


Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today