MATLAB 三维离散点插值为曲面
了解到很多人论文出图所需,自己就详细写了这篇教程
data = load('H:\模型\Para.txt');%参数路径
%Para.txt格式 x1,y1,z1
% x2,y2,z2
% x3,...
x1 = data(:, 1);%获取第1列
y1 = data(:, 2);%获取第2列
z1 = data(:, 3); %获取第3列
count = 1;
interval = 1;
for i = 1 : interval : length(x1)
x(count, 1) = x1(i, 1);
y(count, 1) = y1(i, 1);
z(count, 1) = z1(i, 1);
count = count + 1;
end
%确定网格坐标(x和y方向的步长均取0.01)
[X,Y]=meshgrid(min(x):0.01:max(x),min(y):0.01:max(y));
%在网格点位置插值求Z,注意:不同的插值方法得到的曲线光滑度不同
Z=griddata(x,y,z,X,Y,'v4');
%设置曲面颜色 (蓝红)
colormap(jet);
figure(1);
surf(X,Y,Z);
shading interp;
%白色背景
set(0,'defaultfigurecolor','w')
%设置坐标轴及范围
xlabel('β1');
ylabel('β2');
set(gca,'XLim',[0.2 1.4]);
set(gca,'YLim',[0.2 1.4]);
%设置字体
set(gca,'FontName','Times New Roman');
set(gca,'FontSize',20);
效果图,仅供参考:
参考文章:
https://blog.csdn.net/weixin_30825581/article/details/95696457