1.三维绘图
% 原始数据(按行输入:x y z)
data = [1 2 3 ;5 56 234 ;32 34 67 1 2 5
];% 提取坐标并生成网格(适用于surf函数的网格格式)
x = data(:,1); % X坐标(行数对应Y轴)
y = data(:,2); % Y坐标(行数对应Y轴)
z = data(:,3); % Z值(需转换为矩阵形式)% 转换为网格数据(假设X和Y为离散点,生成3x1网格)
[X, Y] = meshgrid(x, y); % 生成2D网格坐标
Z = reshape(repmat(z,size(X,1),1),size(X,1),size(X,1));%3行1列; % 重塑Z为3x3矩阵% 创建3D曲面图
figure('Color', 'white', 'Position', [100 100 600 500])
surf(X, Y, Z, 'EdgeColor', 'none') % 隐藏网格线
hold oncontour3(Z)
% 数据点标注(显示原始数据值)
for i = 1:3for j = 1:3text(X(i,j), Y(i,j), Z(i,j)+5, num2str(Z(i,j)), ...'HorizontalAlignment', 'center', 'FontSize', 10)end
end% 图形美化
view(30, 20) % 调整视角
colorbar('Location', 'eastoutside', 'Ticks', unique(Z(:))) % 颜色条
xlabel('X 坐标', 'FontSize', 12)
ylabel('Y 坐标', 'FontSize', 12)
zlabel('Z 高度', 'FontSize', 12)
title('三维曲面图(含数据标注)', 'FontSize', 14, 'FontWeight', 'bold')
grid on % 显示网格
lighting gouraud % 平滑光照
colormap(parula) % 颜色映射(更适合数据可视化)% 数据验证(确保格式正确)
disp('原始数据矩阵:'); disp(data)
disp('转换后的网格尺寸:'); disp(size(Z))