matlab根据3组数据画3维曲面图
时间: 2023-09-05 20:01:59 浏览: 325
在MATLAB中,可以使用`surf`函数绘制3D曲面图。假设有三组数据,分别为x,y和z,每组数据的大小为m x n。要绘制3D曲面图,首先需要创建一个网格矩阵来表示x和y的坐标点。这可以使用`meshgrid`函数完成。然后,将x,y和z的数据传递给`surf`函数,绘制出曲面图。
以下是一个示例代码:
```matlab
% 创建数据
x = linspace(-5, 5, 100); % x范围为-5到5,共100个点
y = linspace(-5, 5, 100); % y范围为-5到5,共100个点
[X, Y] = meshgrid(x, y); % 创建网格矩阵
z1 = sin(X) + cos(Y); % 第一组数据
z2 = exp(-X.^2 - Y.^2); % 第二组数据
z3 = X.^2 + Y.^2; % 第三组数据
% 绘制3D曲面图
figure;
surf(X, Y, z1); % 绘制第一组数据
hold on;
surf(X, Y, z2); % 绘制第二组数据
surf(X, Y, z3); % 绘制第三组数据
% 设置坐标轴标签和标题
xlabel('X');
ylabel('Y');
zlabel('Z');
title('3D曲面图');
% 设置图例
legend({'z1', 'z2', 'z3'});
% 设置视角
view(3);
% 可选:添加颜色映射
colormap jet;
% 可选:添加颜色条
colorbar;
```
这个例子中,我们使用了正弦函数、余弦函数和指数函数来生成三组数据。然后,我们将它们传递给`surf`函数来绘制3D曲面图。你可以根据自己的数据来修改代码中的部分。希望对你有帮助!
阅读全文