适合数据的表面,matlab

时间:2012-12-05 01:56:31

标签: matlab geometry-surface

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

我已经

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

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

请给我一些建议。

1 个答案:

答案 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)

这是你的意思吗?