目录

一、绘制三维曲线

二、绘制三维曲面

1.meshgrid函数

2.mesh和surf函数


一、绘制三维曲线

1.最基本的绘制三维曲线的函数—plot3

plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)
其中,每一组xyz组成一组曲线的坐标参数,选项的定义和plot函数相同。当xyz是同维向量时,则xyz对应元素构成一条三维曲线;当xyz是同维矩阵时,则以xyz对应列元素绘制三维曲线,曲线条数等于矩阵列数。(plot详细用法可以参考我的博客:matlab绘图(一)

例1. 绘制三维曲线

代码如下:

t=0:pi/10:10*pi;%取点
x=sin(t)+t.*cos(t);
y=cos(t)-t.*sin(t);
z=t;%计算x,y,z坐标
plot3(x,y,z,'Color','#4F4F2F','Linewidth',1.5);
axis([-30 30 -30 30 0 35])%设置坐标范围
title('Line in 3-D Space');%标题
xlabel('X');ylabel('Y');zlabel('Z');%x,y,z轴标签
grid on;%开启网格线

绘制图形如下:

2.简易绘制三维曲线

对于参数形式表示的三维曲线,还可以用简易绘图函数ezplot3绘制。

调用格式:ezplot3(x,y,z,[a,b])

在区间ab绘制由参数方程= x (t),= y (t) 和= z (t) 确定的三维曲线。未指定区间时,默认在区间0 < t < 2pi绘制图形。

例2. 绘制三维曲线

syms t
x=sin(t)+t.*cos(t);
y=cos(t)-t.*sin(t);
z=t;%计算x,y,z坐标
ezplot3(x,y,z,[0,10*pi])

运行结果;

二、绘制三维曲面

Matlab中绘制三维曲面的基本方法:(按某种规则)在曲面上取mxn个网格点Qij,设它们的x、y、z坐标分别构成矩阵X,Y,Z, 则用mesh(X,Y,Z) 或 surf(X,Y,Z)就可以画出该曲面。

1.meshgrid函数

对于函数曲面,即由z=f(x,y),a<x<b, c<y<d表示的曲面,通常,先在x轴的区间[ab]内取n个点,设这些点的x坐标构成向量x; 再在y轴的区间[c]内取m个点,设这些点的y坐标构成向量y;由各划分点分别作平行于两坐标轴的直线,则得到二维矩形区域a<x<b, c<y<d 内的mxn个网格点Pij 。这mxn个网格点的x坐标构成mxn的矩阵X,它们的y坐标构成mxn的矩阵Y,即第(i,j)个网格点Pij的坐标为(X(i,j),Y(i,j))。如何由向量x, y得到矩阵X, Y。Matlab专门提供了一个函数meshgrid,它的功能就是由x,y轴的划分点(向量x,y)生成二维网格点Pij的坐标矩阵X,Y。
格式:[X,Y]=meshgrid(x,y);当y=x时,可以简化为[X,Y]=meshgrid(x)。
将二维矩形区域a<x<b, c<y<d 内的mxn个网格点Pij 通过z=f(x,y)映射到曲面上,就得到曲面上的mxn个点Qij,第(i,j)个点Qij的坐标为(X(i,j),Y(i,j), Z(i,j)), Qij的x,y 坐标与Pij的相同,因此,  Qij的x,y坐标构成的矩阵分别是由meshgrid函数生成的X,Y.z坐标构成的矩阵Z 可以根据Z(i,j)=f(X(i,j),Y(i,j))利用点运算得到。生成了曲面上mxn个网格点Qij的x,y,z坐标矩阵X,Y,Z后,利用mesh(X,Y,Z)或surf(X,Y,Z)等函数就可以把这张曲面画出来。

2.mesh和surf函数

mesh函数用于绘制三维网格图,surf用于绘制三维曲面图,各线条之间的补面用颜色填充。以下介绍mesh的使用格式 (surf与mesh的使用格式相同)。

mesh(X,Y,Z,C) : 其中,X,Y,Z 分别是由曲面上mxn个点的x坐标、y坐标和z坐标构成的mxn的矩阵,即: (X(i,j),Y(i,j),Z(i,j))是第(i,j)个网格点Pij的坐标, C(i,j)是Pij的颜色值。

mesh(X,Y,Z) :使用C=Z(颜色值正比于高度值)

mesh(x,y,Z)或mesh(x,y,Z,C) :使用两个向量代替两个矩阵,要求: length(x)=n, length(y)=m ,且[m,n]=size(Z),第(i,j)个网格点Pij的坐标为(x(j),y(i),Z(i,j))

mesh(Z):等价于mesh(1:n,1:m,Z)。

mesh(Z,C):等价于mesh(1:n,1:m,Z,C)。

例3.绘制函数z=x*exp(-x^2-y^2)在[-2,2]x[-3,3]内的图形。下面两段代码效果是完全一样的。

%% figure1
figure(1)
x=-2:0.1:2;   y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
mesh(X,Y,Z);
title('figure 1')
colorbar
%% figure2
figure(2)
x=-2:0.1:2;m=size(x,2);
y=-3:0.1:3; n=size(y,2);
Z=zeros(n,m);
for i=1:mfor j=1:nZ(j,i)=x(i)*exp(-x(i)^2-y(j)^2);end
end
mesh(x,y,Z);
colorbar
title('figure 2')

结果展示:

曲面图绘制(只需将mesh改为surf即可),这十张图片体现不同的颜色映射风格,标题为对应的colormap的值。

代码如下:

%% figure 1
figure(1)
x=-2:0.1:2;   y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('hsv')
colormap('hsv')
shading flat
%% figure 2
figure(2)
x=-2:0.1:2;   y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('jet')
colormap('jet')
shading interp
%% figure 3
figure(3)
x=-2:0.1:2;   y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('copper')
colormap('copper')
shading interp
%% figure 4
figure(4)
x=-2:0.1:2;   y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('bone')
colormap('bone')
shading interp
%% figure 5
figure(5)
x=-2:0.1:2;   y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('flag')
colormap('flag')
shading interp
%% figure 6
figure(6)
x=-2:0.1:2;   y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('pink')
colormap('pink')
shading interp
%% figure 7
figure(7)
x=-2:0.1:2;   y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('spirng')
colormap('spring')
shading interp%% figure 8
figure(8)
x=-2:0.1:2;   y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('summer')
colormap('summer')
shading interp%% figure 9
figure(9)
x=-2:0.1:2;   y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('autumn')
colormap('autumn')
shading interp%% figure 10
figure(10)
x=-2:0.1:2;   y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('winter')
colormap('winter')
shading interp

图像结果展示:

 

 

例4.绘制三维曲面图= sinx^2 + cosy^2,x:[0,pi],y:[0,pi/2]。

代码:

[x,y]=meshgrid(0:pi/100:pi, 0:pi/100:pi/2);
z=sin(x.^2)+cos(y.^2);
surf(x,y,z);
axis([0 4 0 1.8 -1.5 1.5]);
colormap('prism')
shading interp
colorbar

运行结果:

这节先说这么多,下期将继续分享!

matlab绘图(三)绘制三维图像相关推荐

  1. MATLAB三维绘图(三)绘制等值线图

    MATLAB三维绘图(三)绘制等值线图 1.使用contour函数绘制等值图,示例: %% 显示不同颜色的梯度图 clear; clc; close all; x = -3.5:0.2:3.5; y ...

  2. MATLAB笔记---绘制三维图像

    记录几个MATLAB中绘制三维图像的常用函数 1.plot3(x,y,z) /plot3(x,y,z,LineSpec) 用于绘制三维空间中的坐标 需要注意的是当你要绘制由线段连接的一组坐标,那么就将 ...

  3. python【Matlibplot绘图库】-绘制三维图像

    文章目录 1.绘制三维图像 2.plt.axes() 1.绘制三维图像 import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import ...

  4. R语言使用persp函数绘制三维图像实战(3D):自定义3D图、图像旋转、添加轴标签

    R语言使用persp函数绘制三维图像实战(3D):自定义3D图.图像旋转.添加轴标签 目录

  5. matlab实验7绘图操作绘制三维曲线,上机习题6 MATLAB7.0三维绘图

    matlab三维绘图经典 实验六 MATLAB7.0三维绘图 实验目的: ① 掌握绘制三维图能形的方法: ② 掌握图形修饰处理方法: ③ 知道图像处理方法,了解动画制作方法. 实验要求:给出程序和实验 ...

  6. matlab实验7绘图操作绘制三维曲线,matlab上机习题6 MATLAB7.0三维绘图

    实验六MATLAB7.0三维绘图实验目的: ①掌握绘制三维图能形的方法: ②掌握图形修饰处理方法: ③知道图像处理方法,了解动画制作方法. 实验要求:给出程序和实验结果. 实验内容: 一.绘制三维曲线 ...

  7. MATLAB绘制三维图像(第一篇)

    %Rosebrock检验函数 一.plot3%画三维空间里的线 x1=-2:0.1:2; x2=-2:0.1:2; f=100*(x2-x1.^2).^2+(1-x1).^2; subplot(2,2 ...

  8. matlab绘图z=sin(x_「matlab画三维图」Matlab 应用之绘制三维图形(基础篇) - seo实验室...

    matlab画三维图 在Matlab中,三维图形的绘制包括三维曲线,三维网线图和三维曲面图.闲话不多说,直接进入正题.首先介绍几个函数: 1.plot3(x,y,z,-) 其中,x,y,z为维数相同的 ...

  9. MATLAB图形绘制--三维图像

    三维图像 我们可以调用mesh(x,y,z)命令来生成三维图像 我们来看函数: 代码: >> [x,y] = meshgrid(-2*pi:0.1:2*pi); >> z = ...

最新文章

  1. 学python买什么电脑-学Python买什么笔记本电脑?
  2. 2015-12-18 学习心得
  3. 华为复制加密门禁卡_MIUI12轻体验:关于模拟门禁卡,你想知道的都在这里
  4. 使用Javaslang进行Java 8中的函数式编程
  5. linux sshd启动失败 sshd re-exec requires execution with an absolute path
  6. tf.nn.dropout
  7. 程序员被公司开除,隔阵子领导命令回前公司讲解代码,网友直呼:关我嘛事?
  8. linux下安装和使用vnc
  9. Swift 接入LinkedIn登录
  10. 2023计算机考研资料分享
  11. [内附完整源码和文档] 基于JSP实现的网上商城系统
  12. 2021年中国水力发电装机量、发电量和竞争格局情况,总水电装机容量达391GW「图」
  13. 同比增长和环比增长的区别
  14. Flutter 项目实战 截图分享到微信|QQ|微博 十二
  15. armbian清理_N1盒子armbian/ubuntu/linux系统修改日志输出到内存
  16. steam验证登录失败_如何向Steam添加两方面身份验证
  17. Qt QTabWidget插入widget(重要的是编程思想)
  18. 串口通信基础(二)——传输方式(方向)、错误校验、传输速率与传输距离
  19. MatLab画直方图并填充纹理
  20. 世界上最美的诗----孩子,别怕

热门文章

  1. 面试官:你这数据库表设计的,真垃圾。。。
  2. 星特朗望远镜怎么样_这是属于年轻人的第一台天文望远镜:简评星特朗 SCTW-70 天文望远镜!...
  3. 第16周-啤酒和饮料
  4. matlab画出加筋板的模态图,加筋板结构振动声强可视化研究
  5. macOS Big Sur系统安装
  6. 下 终端_营销数字化能力建设:卡姿兰如何打造线上线下一体化,赋能终端?...
  7. 幼儿园计算机教学计划,幼儿园大班计算机教学计划 .doc
  8. 高等数学 函数极限求法(一) 代入法
  9. Low Power概念介绍SRPG Cell
  10. openjudge每日推荐——4978宠物小精灵之收服