Matlab绘制透明平面(二元函数)

本文详细介绍了使用MATLAB进行三维表面图绘制的方法,包括如何创建坐标轴、利用repmat函数生成矩阵以及通过surf函数实现绘图,并进一步展示了如何设置平面透明度及平滑着色效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、需求来源

  对空间结构聚类,恰好是圆台,找到了上下底面的方程,所以画图。

二、需求解决

2.1 绘制平面

x = linspace(0,5,100);
y = linspace(0,4,100);
z = 2.*repmat(x,100,1) + 8.*repmat(y,100,1);
surf(x,y,z);

  

  第一需要说明的是,x是0到5,分成100分,注意分就是个数,用linspace最好,不要x = 0:5/99:5(中间分子的5是 (5 -0 )得来的,分成100分不是要除以99么,是的,a(n) = a(n-1 ) + (n-1)*d,求得就是d。)。

  第二是x是m个,y是n个,那么z应该要是m*n个,所以一般先

[X,Y] = meshgrid(x,y);

  查看结果发现,X只是x安航扩展了m次,同理Y,那么我直接repmat就好了,注意是

repmat(x,m,1);
repmat(y,n,1);

  第三我原来以为直接用repmat不会有网格,看图发现依然有;第三个参数是1,不是m和n,而是1,因为把x、y分别看做一个整体。

2.2 平面透明

x = linspace(0,5,100);
y = linspace(0,4,100);
z = 2.*repmat(x,100,1) + 8.*repmat(y,100,1);
surf(x,y,z);
hold on;
alpha(.3);
shading interp

  

  首先是alpha函数设置透明度,但是网格还有,那么加上shading interp。

转载于:https://www.cnblogs.com/hxsyl/p/4824884.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值