iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >matlab绘图(三)绘制三维图像
  • 920
分享到

matlab绘图(三)绘制三维图像

matlab开发语言python 2023-09-07 22:09:37 920人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录 一、绘制三维曲线  二、绘制三维曲面 1.meshgrid函数  2.mesh和surf函数 一、绘制三维曲线 1.最基本的绘制三维曲线的函数—plot3 plot3(x1,y1,z1, 选项 1,x2,y2,

目录

一、绘制三维曲线

 二、绘制三维曲面

1.meshgrid函数

 2.mesh和surf函数


一、绘制三维曲线

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

plot3(x1,y1,z1, 选项 1,x2,y2,z2, 选项 2,…, xn,yn,zn , 选项 n) 其中,每一组 x y z 组成一组曲线的坐标参数,选项的定义和 plot 函数相同。当 x y z 是同维向量时,则 x y z 对应元素构成一条三维曲线;当 x y z 是同维矩阵时,则以 x y z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。(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 tx=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 轴的区间 [ a b ] 内取 n 个点 ,设这些点的 x 坐标构成向量 x; 再在 y 轴的区间 [ c ] 内取 m 个点 ,设这些点的 y 坐标构成向量 y; 由各划分点分别作平行于两坐标轴的直线,则得到二维矩形区域 a 内的 mxn 个网格点 P ij 。这 mxn 个网格点的 x 坐标构成 mxn 的矩阵 X ,它们的 y 坐标构成 mxn 的矩阵 Y ,即第 ( i,j ) 个网格点 P ij 的坐标为 (X( i,j ),Y( i,j )) 。如何由向量 x, y 得到矩阵 X, YMatlab 专门提供了一个函数 meshgrid ,它的功能就是由 x,y 轴的划分点(向量 x,y )生成二维网格点 P ij 的坐标矩阵 X,Y
格式 [X,Y]= meshgrid ( x,y ); y=x 时,可以简化为 [X,Y]= meshgrid (x)
将二维矩形区域 a 内的 mxn 个网格点 P ij 通过 z=f( x,y ) 映射到曲面上,就得到曲面上的 mxn 个点 Q ij ,第 ( i,j ) 个点 Q ij 的坐标为 (X( i,j ),Y( i,j ), Z( i,j )), Q ij x,y 坐标与 P ij 的相同,因此,   Q ij 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的使用格式 (surfmesh的使用格式相同)。

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]内的图形。下面两段代码效果是完全一样的。

%% figure1figure(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
%% figure2figure(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:m    for j=1:n        Z(j,i)=x(i)*exp(-x(i)^2-y(j)^2);    endendmesh(x,y,Z);colorbartitle('figure 2')

 结果展示:

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

代码如下:

%% figure 1figure(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 2figure(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 3figure(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 4figure(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 5figure(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 6figure(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 7figure(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 8figure(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 9figure(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 10figure(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^2x:[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 interpcolorbar

 运行结果:

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

 

 

 

 

 

 

来源地址:https://blog.csdn.net/higerwy/article/details/129435292

--结束END--

本文标题: matlab绘图(三)绘制三维图像

本文链接: https://www.lsjlt.com/news/399116.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • matlab绘图(三)绘制三维图像
    目录 一、绘制三维曲线  二、绘制三维曲面 1.meshgrid函数  2.mesh和surf函数 一、绘制三维曲线 1.最基本的绘制三维曲线的函数—plot3 plot3(x1,y1,z1, 选项 1,x2,y2,...
    99+
    2023-09-07
    matlab 开发语言 python
  • Python怎么绘制三维图_Python绘制三维图教程
    1、首先打开python。 2、然后创建python文件。 3、引入相关python库。 4、接着定义数据。 5、定义三维函数。 6、再绘制三维图。 7、点击【Run】运行程序...
    99+
    2024-04-02
  • python绘制三维图
    一、初始化 假设已经安装了matplotlib工具包。 利用matplotlib.figure.Figure创建一个图框: 1 2 3 4 import matplotlib.pyplot as plt from mpl_toolkit...
    99+
    2023-10-27
    python matplotlib 开发语言
  • python如何绘制三维函数图像图
    在python中使用matplotlib库绘制三维函数图像图,具体方法如下:import matplotlib as mplfrom mpl_toolkits.mplot3d import Axes3Dimport numpy as npi...
    99+
    2024-04-02
  • Python绘制三维图形
    需要安装numpy和matplotlib库,我都是pip库安装,这样比较简单。 import numpy as np import matplotlib.pyplot as plt import mpl_toolkits.mpl...
    99+
    2023-01-31
    图形 Python
  • Python绘制三维图详解
    利用Python绘制三维图 目标: 绘制图像 z2 = x2 + y2 z^2 = x^2 + y^2 ...
    99+
    2023-09-14
    python numpy 开发语言
  • Python三维绘图--Matplotl
    Python三维绘图 在遇到三维数据时,三维图像能给我们对数据带来更加深入地理解。python的matplotlib库就包含了丰富的三维绘图工具。 1.创建三维坐标轴对象Axes3D 创建Axes3D主要有两种方式,一种是利用...
    99+
    2023-01-31
    Python Matplotl
  • 如何用java绘制三维图
    要使用Java绘制三维图,你可以使用Java的图形库和3D图形引擎。下面是一个简单的示例代码,可以帮助你开始绘制一个简单的三维图:`...
    99+
    2023-10-07
    java
  • C++调用matlab引擎实现三维图的绘制
    目录VS2012设置matlab程序VS2012控制台程序运行结果说明VS2012设置 项目–项目属性–配置属性–VC++目录–包含目...
    99+
    2022-12-27
    C++ matlab绘制三维图 C++ 绘制三维图 matlab 三维图
  • MATLAB三维绘图命令plot3怎么使用
    MATLAB中的plot3命令用于绘制三维空间中的曲线。它的使用方法如下:plot3(X,Y,Z)其中,X、Y和Z是三维曲线上点的坐...
    99+
    2023-09-14
    MATLAB
  • QT利用QPainter绘制三维饼状图
    目录一、项目介绍二、项目基本配置三、UI界面设置四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍 本文介绍利用QPainter实...
    99+
    2024-04-02
  • Python+Matplotlib实现绘制三维折线图
    目录1.0简介2.0三维图画法与类型1、直线绘制(Line plots)2、散点绘制(Scatter plots)3、线框图(Wireframe plots)4、三角表面图(Tri-...
    99+
    2023-03-21
    Python Matplotlib绘制三维折线图 Python Matplotlib 三维折线图 Python Matplotlib
  • 怎么用Python+Matplotlib绘制三维折线图
    这篇文章主要介绍了怎么用Python+Matplotlib绘制三维折线图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Python+Matplotlib绘制三维折线图文章都会有所收获,下面我们一起来看看吧...
    99+
    2023-07-05
  • matlab如何绘制函数图像
    今天小编给大家分享一下matlab如何绘制函数图像的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。matlab绘制函数图像的方...
    99+
    2023-07-04
  • Word怎么绘制三线图
    要在Word中绘制三线图,可以按照以下步骤操作:1. 打开Word文档,点击“插入”选项卡,选择“图表”按钮。2. 在弹出的图表选择...
    99+
    2023-09-15
    Word
  • 怎么使用matlab画三维图像
    要使用Matlab绘制三维图像,可以按照以下步骤进行操作:1. 准备数据:首先需要准备好要绘制的三维数据。可以通过矩阵、数组或者函数...
    99+
    2023-09-14
    matlab
  • 基于python,Matplotlib绘制函数的等高线与三维图像
    目录1. 网格点2. 等高线3. 三维图像本篇文章记录一下函数的等高线及其三维图像的可视化方法。 本例绘制的函数为: 1. 网格点   在绘制曲线之前,先了解一...
    99+
    2024-04-02
  • QT如何利用QPainter绘制三维饼状图
    这篇“QT如何利用QPainter绘制三维饼状图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“QT如何利用QPainter绘...
    99+
    2023-07-02
  • python绘制三维图的详细新手教程
    目录一、初始化二、直线绘制(Line plots)三、散点绘制(Scatter plots)四、线框图(Wireframe plots)五、表面图(Surface plots)六、三...
    99+
    2024-04-02
  • MATLAB怎么根据数据绘制三维曲面
    要在MATLAB中根据数据绘制三维曲面,可以使用`meshgrid`函数创建网格,并通过`surf`函数绘制曲面。假设有两个一维数组...
    99+
    2023-09-26
    MATLAB
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作