2012-12-05 134 views
1

我有data-3列。第一个和第二个X和Y坐标,第三个值。我必须使用平方插值法来拟合曲面。然后用.jpg背景绘制适合的输出。拟合曲面数据,matlab

我已经

[XOut, YOut, ZOut] = prepareSurfaceData(x, y, v); [c,goft]=fit([XOut,YOut],ZOut,'poly02'); plot(c);

但我不know`如何更改视图为XY。然后从.jpg文件中添加背景

请给我一些建议。

+3

你将永远得到whathaveyoutried.com –

+0

我最好的建议已经 '[Xout,Yout,ZOUT = prepareSurfaceData(X,Y,V); [c,goft] = fit([XOut,YOut],ZOut,'poly02'); 情节(c)' 但我不知道如何将视图变成XY。然后从.jpg文件中添加背景 – user1877600

+0

因此,如果您需要帮助,这就是问题所在。显示该代码以及它输出的内容等。 –

回答

0

所以,据我了解,这个问题与拟合无关,而是关于如何将图像放在表面上?

你说“背景”,但我不知道你指的是轴或面,但这应该工作无论哪种方式(除非你需要z = 0的一个额外的面为前):

% make dummy test data 
N = 60; 
X = 1:N; 
Y = 1:N; 
[X, Y] = meshgrid(X,Y); 
Z = X - X.^2 + Y.^2 + randn(N,N)*10; 

% read jpg and make same size as grid  
im = imread('yourimage.jpg'); 
% convert image to indexed colours  
[im, map] = rgb2ind(im, 256); 

% make figure 
figure(1), clf 

% make image same size as grid 
subimage = im(1:N,1:N); 
colormap(map) 

% plot surf and use image as texture 
s = surf(X,Y,Z); 
set(s, 'faceColor', 'texture',... 
    'edgecolor', 'none',... 
    'cdata', subimage) 

这是你的意思吗?