困死了,先这样。
如果x,y的数据是二维的(楼主的数据),只要用interp2就可以了。。
clc;clear;close all;
x=[10 20 30 40];%相当于以10为步进,取4个点
y=[5 15 25 35];
z=[10 23 33 41;07 17 26 37;10 20 30 40;08 18 31 43;]; %z必须为4x4矩阵
%v=[10 23 33 41;07 17 26 37;10 20 30 40;08 18 31 43;];
surf(x,y,z)
title('Original data Plot');
xlabel('X'), ylabel('Y'), zlabel('Z'),
colormap; colorbar;axis([0 50 0 40 0 50]);
xi = [1:1:40];%以1为步进,取点
yi = [5:1:35];
[x2,y2]=meshgrid(xi,yi);%参考help案例产生新的xyz
t11=interp2(x,y,z,x2,y2,'cubic');
figure(2)
surf(xi,yi,t11)
title('After Fit data Plot');
xlabel('X'), ylabel('Y'), zlabel('Z'),
colormap, colorbar;axis([0 50 0 40 0 50]);,