Clear Filters
Clear Filters

Surf plot of my data

3 views (last 30 days)
Jérôme
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!

Answers (2)

Walter Roberson
Walter Roberson on 2 Apr 2013
Use griddata(). Or use triscatteredinterp to create an interpolator and interpolate it over a mesh created with ndgrid()

Omid Adljuy
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.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!