数模更新篇-7-绘制三维图-1-mesh函数

mesh函数:绘制网格图

mesh(x, y, z)的用法,x是n维向量,y是m维向量,z是m*n的矩阵

X = [1,2,4]
Y = [3,5]
Z = [4,8,10;5,9,13]
mesh(X,Y,Z)  % (X(j), Y(i), Z(i,j))是线框网格线的交点的坐标
xlabel('x轴');  ylabel('y轴');  zlabel('z轴');  % 加上坐标轴的标签

在这里插入图片描述

Z = [4,8,10;5,9,13]
mesh(Z)
xlabel('x轴');  ylabel('y轴');  zlabel('z轴');  % 加上坐标轴的标签
% 等价于
X = 1:3
Y = 1:2
Z = [4,8,10;5,9,13]
mesh(X,Y,Z)
xlabel('x轴');  ylabel('y轴');  zlabel('z轴');  % 加上坐标轴的标签

在这里插入图片描述

X = [1,10,4]
Y = [3,5]
Z = [4,8,10;5,9,13]
mesh(X,Y,Z)
alpha(0.8) % 设置透明度0-1之间
hidden off  % 可以看到背部的图像,不会遮挡(默认是看不到的)
xlabel('x轴');  ylabel('y轴');  zlabel('z轴');  % 加上坐标轴的标签

在这里插入图片描述

% 如果xyz都是m*n的矩阵
X = [1,2,4;1,2,4]   
%  X = [1,2,4;1,2,5] 
Y = [3,3,3;5,5,5]
Z = [4,8,10;5,9,13]
mesh(X,Y,Z) % (X(i,j), Y(i,j), Z(i,j))是线框网格线的交点的坐标
xlabel('x轴');  ylabel('y轴');  zlabel('z轴');  % 加上坐标轴的标签

在这里插入图片描述

例1

例题1:绘制 z = x2 - y 2的图像 ,其中x和y都位于[0,5]之间

% linspace是Matlab中的一个函数,用于产生给定范围内指定数量的点数,相邻数据跨度相同,并返回一个行向量。
% 调用方法:linspace(x1,x2,N)
% 功能:用于产生x1,x2之间的N点行向量,相邻数据跨度相同。其中x1、x2、N分别为起始值、终止值、元素个数。
n = 11;
tem = linspace(0,5,n);  % 将[0,5]这个区间等分为n个点(等差数列的形式)
x = repmat(tem,n,1);
y = repmat(tem',1,n);
z = x.^2 - y.^2;    % 要使用点运算符号哦~
mesh(x,y,z)
xlabel('x轴');  ylabel('y轴');  zlabel('z轴');  % 加上坐标轴的标签
axis vis3d % 冻结屏幕高宽比,使得一个三维对象的旋转不会改变坐标轴的刻度显示

在这里插入图片描述

例2

z = sin(sqrt(x2+y2))/sqrt(x2+y2)的图形,其中x和y都位于[-5,5]之间

[x,y] = meshgrid(-5:0.5:5);  % 快速生成网格所需的数据
tem = sqrt(x.^2+y.^2)+1e-12;   % tem=sqrt(x.^2+y.^2);   % 在后面加上一个非常非常小的数字: 1e-12 = 10^(-12) ,当然你也可以单独找到值为0的地方对其修改
z = sin(tem)./tem;  % 如果不对tem处理,那么z的最中间的一个值 0/0 = NaN
mesh(x,y,z)
xlabel('x轴');  ylabel('y轴');  zlabel('z轴');  % 加上坐标轴的标签
axis vis3d % 冻结屏幕高宽比,使得一个三维对象的旋转不会改变坐标轴的刻度显示

在这里插入图片描述

mashc函数

mashc函数可以绘画出等高线

% 在上一个代码的条件下
meshc(x,y,z)
xlabel('x轴');  ylabel('y轴');  zlabel('z轴');  % 加上坐标轴的标签
axis vis3d % 冻结屏幕高宽比,使得一个三维对象的旋转不会改变坐标轴的刻度显示

在这里插入图片描述

mashz函数

meshz函数:除了mesh函数图形外,还在xy平面上绘制曲面的底座。

meshz(x,y,z)
xlabel('x轴');  ylabel('y轴');  zlabel('z轴');  % 加上坐标轴的标签
axis vis3d % 冻结屏幕高宽比,使得一个三维对象的旋转不会改变坐标轴的刻度显示

在这里插入图片描述

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值