Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

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

Jérôme

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

Walter Roberson
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

Omid Adljuy

Contact us