MATLAB三维绘图---三维曲面图

article/2025/9/28 21:23:39

matlab绘制三维图中,最常见的是三维曲线图三维曲面图
三维曲线图比较简单函数命令为plot3,已经详细介绍过,具体请见Matlab三维绘图------三维曲线图

三维曲面图的不同类型及对比

三维曲面图又分为三维网面和三维网格面图,其原理相似只是调用格式不同而已。总结如下:

plot3(x,y,z);%绘制数据的三维曲线图
mesh(x,y,z); %绘制数据的三维网格面图
surf(x,y,z); %绘制数据的三维网面图
meshc(x,y,z);%绘制数据的三维网格面图,并添加等值线
surfc(x,y,z);%绘制数据的三维网面图,并添加等值线
meshz(x,y,z);%绘制数据的三维网格面图,并添加等值线
[X,Y]=meshgrid(x,y);分别产生两个1、以向量x为行,向量y为列的矩阵,2、并且向量x的长度为新矩阵的列数,y的长度为新矩阵的行数 的新矩阵X和Y.

上面:[X,Y]=meshgrid(x,y)在绘制三维曲面图中非常重要,在用方程绘制曲面图中常用。在这里不赘述,详细介绍可见前文,请点击下面超链接。
比如向量x=[1,2,3],向量y=[4,5],[X,Y]=meshgrid指令的作用是分别产生两个1、以向量x为行,向量y为列的矩阵,2、并且向量x的长度为新矩阵的列数,y的长度为新矩阵的行数 的新矩阵X和Y.
在这里即为两行三列。所以:
X=
1 2 3
1 2 3

Y=
4 4 4
5 5 5

关于[X,Y]=meshgrid指令的作用已详细讲过,具体可见Meshgrid用法简介

关于mesh(x,y,z)、surf(x,y,z)、meshc(x,y,z)、surfc(x,y,z)、meshz(x,y,z);这几个函数的区别,通过绘制高斯矩阵的曲面来看看

z=peaks(40);
mesh(z)
surf(z)
meshc(z)
surfc(z)
meshz(z)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将这些图分别绘制在一张figure上也非常简单,仍然是用到多重子图subplot指令:

z=peaks(40);
subplot(2,3,1);
mesh(z);
subplot(2,3,2);
surf(z);
subplot(2,3,3);
meshc(z);
subplot(2,3,4);
surfc(z)
subplot(2,3,5);
meshz(z)

在这里插入图片描述
总结:mesh是网格,surf是网面。网格绘出的三维图就像是渔网一般一格一格的。网面绘出的三维图是曲面的,上面没有格,至于线是辅助线。mesh(z)和surf(z)则是加了等值线,相当于那些值相等,就用圈圈做以标记。meshz(z)是加了一个零平面作为参考。

用方程绘制三维曲面图

举几个不同的例子来说明
例1:
x在[0,2pi],y在[0,2pi],作三维曲面图z=cos(x)+sin(y)

x=(0:0.01:2*pi);
y=x;
[X,Y]=meshgrid(x,y);
z=cos(X)+sin(Y);
mesh(X,Y,z)

在这里插入图片描述
注:通常在确定向量x,y的基础上,使用命令meshgrid生成新的矩阵数据[X,Y],再输入函数z=f(x,y,z),最后用mesh或surf指令生成三维曲面图。

如果不用meshgrid生成矩阵的话会有如下错误:
在这里插入图片描述

例2:
绘制如下方程的三维曲面图:
在这里插入图片描述

x=(-7.5:0.01:7.5);
y=x;
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2);
Z=sin(R)./R;
mesh(X,Y,Z)

在这里插入图片描述
通过meshgrid指令将向量x和y,分别生成了矩阵X、Y.那么在以上代码中
R=sqrt(X. ^2+ Y.^2)以及Z=sin(R)./R中的加了.的原因是什么呢?
这是因为在变量运算里有以下几个基本规则:

a.*b     %矩阵a和矩阵b中各个元素相乘
a.*b.*c  %矩阵a,矩阵b和矩阵c中各个元素相乘
a.^2     %求取矩阵a中各个元素的平方
a./b     %矩阵a中各个元素除以矩阵b中的各个元素
a.\b     %矩阵b中各个元素除以矩阵a中的各个元素

因而先通过meshgrid指令将向量变成矩阵X和Y,再通过上述指令:
x的平方就是a.^2 即:X.^2,以及y的平方: Y.^2 ,而sin(R)/R即a./b , 即:sin(R)./R

以上了解了之后用方程绘制三维曲面图就非常简单了,再来一个例子:
在这里插入图片描述

x=(-3:0.01:3);
y=(-4:0.01:3);
[X,Y]=meshgrid(x,y);
Z=X.*exp(-(X.^2+Y.^2));
mesh(X,Y,Z)

在这里插入图片描述

theta=(-pi:0.05:4*pi);
x=cos(theta);
y=sin(theta);
[X,Y]=meshgrid(x,y);
z=abs(cos(X.*3)).*exp(-abs(theta/3));
mesh(X,Y,z)

在这里插入图片描述


http://chatgpt.dhexx.cn/article/2WeMPooo.shtml

相关文章

matlab三维向量,matlab三维数据绘图

 3D数据绘制唇部图像主要由两部分构成,一个是唇部在X-Y平面的栅格,一个是根据相应Z轴的涂色。主要使用了matlab里meshgrid、surf和shading。 1 使用meshgrid生成栅格 meshgrid(x,y)由向量x和向量y通过复制的方法产生绘制图形时所需的栅格数据点矩阵X、Y。该命令产生栅格数…

matlab 三维绘图

clear,clc; x0:pi/10:2*pi; yx; [X,Y]meshgrid(x,y);%转换为空间点坐标 Zsin(X).sin(2X3); surf(X,Y,Z) box on xlabel(‘x轴’),ylabel(‘y轴’),zlabel(‘z轴’) title(‘三维曲面图’) grid on 绘制同心圆 fcs.m ainput(‘输入横坐标:’); binput(‘输入纵坐标:’); rinput…

matlab三维绘图注释,Matlab三维绘图与图形处理

三维绘图 01 空间曲线作图 调用格式为: plot3(x,y,z,s) 若x,y,z是同维数的向量,则表示绘制一条横坐标为x,纵坐标为y,函数值为z的一条空间曲线,若x,y,z为mn矩阵,则绘制n条空间曲线,s’指定曲线的类型(颜色、线型、点标记等)。 实践 在区间[0,8π \piπ]绘制参数曲线x=sint…

MATLAB三维绘图

目录 1 三维绘图 1.1 绘制三维曲线图 1.2 绘制三维曲面图 2 图形编辑器 1 三维绘图 1.1 绘制三维曲线图 与二维绘图类似,三维绘图调用的是plot3函数 示例代码: x -10:0.1:10; %x轴 y -10:0.1:10; %y轴 z x 2*y; %z轴 plot3(x,y,z); 运…

MATLAB 绘制三维图 | 附多个实例

文章目录 情形一:函数有显式表达式 z f ( x , y ) zf(x,y) zf(x,y) 主要使用函数:meshgrid,mesh,fmesh情形三:函数表达式不含有 z z z 主要使用函数:meshgrid,isosurface在这里插入图片描述 情形3:函数有参数表达式…

【MATLAB】三维绘图 ( 三维绘图步骤 )

文章目录 一、绘制三维图像1、三维绘图步骤2、代码示例 二、双峰函数 一、绘制三维图像 1、三维绘图步骤 定义 x , y , z x,y,z x,y,z 轴变量 , % z 轴元素列举 % 从 0 开始 , 每次递增 pi / 100 , 到 4 * pi 结束 z 0: pi / 100 : 4 * pi;% 定义 x 变量 % 使用 sin 函数 ,…

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

目录 一、绘制三维曲线 二、绘制三维曲面 1.meshgrid函数 2.mesh和surf函数 一、绘制三维曲线 1.最基本的绘制三维曲线的函数—plot3 plot3(x1,y1,z1, 选项 1,x2,y2,z2, 选项 2,…, xn,yn,zn , 选项 n) 其中,每一组 x , y , z 组成一组曲线…

MATLAB三维绘图命令plot3入门

一、引言 Matlab软件提供了强大的可视化功能,既可以绘制平面图形,也可以绘制三维图形。绘制三维曲线图或者散点图可以使用命令plot3来实现。本文给出利用plot3绘制三维曲线图(其实就是曲面)或者散点图入门简介。 二、plot3基本用法…

使用MATLAB进行三维图像绘制

一、mesh 绘制无线网格网络图 其中x是n维向量,y是m维向量,z是m*n维向量 除了mesh函数meshc函数还能在xy平面上绘制曲面的等高线,meshz函数还能在xy平面上绘制曲面的底座 mesh(x,y,z) x1:0.1:10; y1:0.1:10; [x,y] menshgrid(x,y); zx.^2-…

股票APP UI界面设计

金融类型股票APP UI界面设计 实时动态查询 股票市场应用iOS UI套件。可以在多个屏幕上自定义您的交易环境。具有资产类别和细分市场的全套交易工具和功能。可以选择市场,工具,图表和交易组件来定制您自己的股票交易app。 模板以蓝色为主色调&#xff0…

Python - PyQT5开发UI界面 - 环境搭建

没有做过UI界面的都会把UI的制作想象的很神秘,我在刚开始的时候也是感觉异常神秘、很复杂、并且无从下手,不过在真正的做出来一个界面后,发现也并没有想象中的那么难,而且做出来可视化的东西所带来的成就感是超越代码本身的&#…

19个免费的UI界面设计工具及资源

原文:http://www.oschina.net/news/16602/19-free-ui-design-tools-toolkits-and-resources-for-designers 开源中国社区刚发布了一篇《21个免费的UI界面设计工具、资源及网站》,介绍了免费的Web UI、移动UI、线框工具等。作为该文章的续篇,本…

实验一 基本 UI 界面设计

实验一 基本 UI 界面设计 【实验目的】 1.熟悉 Android Studio 开发工具操作 2.熟悉 Android 基本 UI 开发,并进行 UI 基本设计 【实验内容】 实现如下 Android 应用,实现如下显示效果(暂无控件点击事件效果): …

QT多个ui界面设计

这里以2个ui界面为例 新建一个设计关联ui背景设计 新建一个设计 在已有一个项目和ui的时候,右键Forms,在出来的的菜单中,点击Add New,弹出的界面选择Qt Designer From Class,如下。 单击choose后,弹出以下…

QT项目界面文件(.ui)设计和运行机制

后缀为“.ui”的文件是可视化设计的窗体的定义文件,如 widget.ui。双击项目文件目录树中的文件 widget.ui,会打开一个集成在 Qt Creator 中的 Qt Designer【ui设计器】 对窗体进行可视化设计 组件面板:窗口左侧是界面设计组件面板,分为多个组,如Layouts、Buttons、Displ…

Android studio - UI 界面设计(仿问卷星登陆注册界面)

1 先上效果图&#xff1a; 2 准备工作 建如下活动文件以及素材文件 3 代码实现 3.1 修改themes.xml、 themes.xml(night)文件 使自定义按钮组件起效果 在框出区域加 .Bridge 两个 xml 文件都要加**自定义按钮的应用**代码实现 btn_login.xml <?xml version"1.0&quo…

Element ui后台管理系统界面设计

自己学了一点Element ui前端框架&#xff0c;然后尝试设计了几个页面&#xff0c;仅供学习参考&#xff01;

5个UI界面设计网站,马住了

来了来了&#xff01;推荐几个超好用的设计素材网&#xff0c;还是免费的。 1、爱给网 爱给网_音效配乐_3D模型_视频素材_游戏素材_免费下载 这里面有8W多张UI设计素材&#xff0c;全部都分好类型&#xff0c;找素材特别方便&#xff0c;重点是能免费下载。 2、菜鸟图库 UI…

燕山大学——软件用户界面设计(五)UI架构

界面设计中的“设计”与“实现”&#xff0c;本节的UI架构属于“实现”部分。 1.GUI设计模式&#xff08;Design patterns for GUIs&#xff09; &#xff08;1&#xff09;视图树&#xff08;View tree&#xff09; ①定义&#xff1a;GUI结构是一个视图树。视图是一个对象&…

tkinter 界面设计工具

先推荐一个非tkinter的GUI框架 Python Eel 。是Electron的python版 vb6 https://gitcode.net/mirrors/cdhigh/Visual-Tkinter-for-Python (https://github.com/cdhigh/tkinter-designer ) Figma Tkinter https://blog.csdn.net/qq_41854273/article/details/118310241 visua…