MATLAB根据三维散点坐标画出三维平滑曲面图

踩了好多坑,走了好多弯路,记一下代码吧
搜到的大多数代码都不是想要的
这里是根据 三维坐标系下的散点坐标 自动画出 三维平滑曲面图

x=[0 2 4 0 2 4 -8 -10 -12 -14 -8 -10 -12 -14 -12 -10 -8 -6 -4 -2 0 2];
y=[56 56 56 58 <
### 如何使用 MATLAB 绘制带曲面的 3D 图 为了实现这一目标,可以先创建数据并绘制图,随后通过插值得到平滑的曲面,并在同一图形窗口中显示两者。下面提供了一段具体的代码示例来完成这项工作。 ```matlab % 创建随机的数据集作为例子 A = rand(100, 3)*10; % 随机生成100个,范围在[0,10]之间 x = A(:,1); y = A(:,2); z = A(:,3); % 绘制原始图 figure; scatter3(x, y, z, 'filled'); title('Original Scatter Plot'); % 使用 griddata 函数进行插值处理得到连续的 X Y Z 值 [X, Y] = meshgrid(linspace(min(x), max(x), 100), linspace(min(y), max(y), 100)); Z = griddata(x, y, z, X, Y, 'v4'); % 显示带有颜色映射的表面图像 figure; surf(X, Y, Z); shading interp; colormap jet; % 添加坐标轴标签以及标题 xlabel('X Axis Label', 'Rotation', 0); ylabel('Y Axis Label', 'Rotation', 0); zlabel('Z Axis Label'); title('Surface Fitted Through Scattered Data Points'); % 同一图表内同时展示与拟合后的曲面 hold on; scatter3(x, y, z, [], z, 'o', 'MarkerFaceAlpha', .5, 'MarkerEdgeColor', 'k'); view(-38, 20); % 调整视角以便更好地观察结果 ``` 上述代码首先定义了一些测试用的数据 `A` 并从中提取三个维度的信息分别赋给变量 `x`, `y`, 和 `z`. 接着利用这些离的数据调用了 `scatter3()` 来构建初始版本的三维图[^2]. 然后采用 `griddata()` 方法基于已有的样本进行了空间上的插值运算从而获得更密集和平滑的高度场表示形式即矩阵 `Z`, 这样就可以借助于 `surf()` 函数轻松地渲染色彩渐变的效果了. 最终,在保持当前绘图状态不变的情况下(`hold on`)再次呼叫 `scatter3()`, 将原来的那些孤立节重新叠加回去形成最终效果图.
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值