【MATLAB】三维绘图 三维数据插值

article/2025/9/28 20:32:46

目录

    • 前言
    • MATLAB插值函数
    • 三维绘图
        • 绘制立体曲线图
        • 绘制曲面图
        • 等高线在XY平面的投影

前言

  • 调用一下MATLAB自带的seamount.mat数据文件
load seamount
plot3(x,y,z,'.','markersize',12)
xlabel('Longitude'), ylabel('Latitude'), zlabel('Depth in Feet')
grid on

在这里插入图片描述

  • 采用函数griddata对三维数据进行插值,并通过变量xiyi控制插值范围和数量
figure
[xi, yi] = meshgrid(210.8:0.01:211.8, -48.5:0.01:-47.9);
zi = griddata(x,y,z, xi,yi);
surf(xi,yi,zi);
xlabel('Longitude'), ylabel('Latitude'), zlabel('Depth in Feet')

在这里插入图片描述

MATLAB插值函数

这里引用一下论坛大佬对MATLAB插值函数的回复

2013b 中已经没有 griddata3 了,统一为 griddata,它能同时支持 2-D和3-D内插 (也就是已经包含了旧版本里的 griddata3 的功能)。请查看:http://www.mathworks.com/help/matlab/ref/griddata.html

另外 n >= 2 维的内插有一个新函数叫 griddatan,前面的 griddata 是 griddatan 取 n = 2 和 3 的两种特殊情形。griddatan 请参考:http://www.mathworks.com/help/matlab/ref/griddatan.html

还有一个TriScatteredInterp,同时支持 2-D 和 3-D 内插, 其效率比 griddata 更高,而且使用也更方便,因为它是返回的是一个内插式 (interpolant ) F, 类似函数句柄的东西 (但并非严格意义上的函数句柄),利用 F,可以直接计算网格点上的函数值。关于 TriScatteredInterp 的用法,请参考:http://www.mathworks.com/help/matlab/ref/triscatteredinterpclass.html?searchHighlight=TriScatteredInterp
不过,尽管 TriScatteredInterp 已经比 griddata 更有优势了,但是它在将来某个新版本中会被remove掉(参考至2013b的help文档:Note: TriScatteredInterp will be removed in a futurerelease. Use scatteredInterpolant instead.),取而代之的会是下面两个更强大的函数: scatteredInterpolantgriddedInterpolant

2012 里新增两个很有用的内插函数,scatteredInterpolant 和 griddedInterpolant,其中,scatteredInterpolant 支持 2-D 和 3-D 内插,就像 griddata/TriScatteredInterp 一样,但是功能更强大,它也是返回一个内插式 F(interpolant ),然后根据 F 可以求出内插点的函数值。请查看 http://www.mathworks.com/help/matlab/ref/scatteredinterpolantclass.html

griddedInterpolant 支持 n-D 内插,n = 1,2,3,4,5,。。。,这个类似于 griddatan,但功能更强大,它也是返回一个内插式 F(interpolant ),可以直接用F求内插点的函数值。请查看:http://www.mathworks.com/help/matlab/ref/griddedinterpolantclass.html

除了以上函数,再加上 interp1,interp2,interp3等,基本包含matlab里全部主流内插函数。

三维绘图

常用三维绘图指令如下(下图转自知乎)
在这里插入图片描述
指令多种多样,重点在于理解指令使用的内涵,一般常用的有画网状图的mesh,曲面图的surf和立体曲线图plot3

绘制立体曲线图不需要建立两个单调递增的网格矢量,如[X,Y] = meshgrid(1:3,10:14)
在这里插入图片描述

绘制立体曲线图

t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
xlabel('sin(t)')
ylabel('cos(t)')
zlabel('t')
grid on
axis square

在这里插入图片描述

绘制曲面图

k = 5;
n = 2^k-1;
[x,y,z] = sphere(n);%产生球,将坐标输入到变量
c = hadamard(2^k); %定义颜色
surf(x,y,z,c);
colormap([1  1  0; 0  1  1])
axis equal

在这里插入图片描述

等高线在XY平面的投影

加载MATLAB的数据,利用contour函数完成等高线图绘制。

load penny;
figure;
contour(flipud(P));
axis square;

在这里插入图片描述


http://chatgpt.dhexx.cn/article/C5JbUmdO.shtml

相关文章

MATLAB---绘制三维图形函数实例介绍

例:用plot3函数绘制三维螺旋线。 >> t linspace(0, 10*pi, 300); >> plot3(20*sin(t), 20*cos(t), t, r, linewidth, 2); >> hold on %图形保持 >> quiver3(0,0,0,1,0,0,25,k,filled,LineWidth,2); >> quiver3(0,0,0,0…

Matlab三维绘图------三维曲线图

在matlab中绘制的三维图主要有三种: 三维曲线图、立体网状图、和三维曲面图 其基本命令为: plot3 %三维曲线图 mesh %立体网状图 surf %三维曲面图三维曲线图基本绘图函数 函数命令:plot3 调用格式:plot(x1,y1,z1,x2,y2,z2,……

[Matlab科学绘图] Matlab三维绘图总结

主要对matlab三维绘图函数进行总结并展示一下绘图结果,重点不在函数解读,在于函数介绍,函数的具体使用可以查看matlab的help文档。 函数名说明line,plot3,ezplot3绘制三维曲线mesh,ezmesh绘制三维网状图me…

使用MATLAB进行三维空间绘图

目录 使用MATLAB进行三维空间绘图一个入门例程matlab中的mesh()函数matlab中的meshgrid()函数matlab中的plot3函数例程代码解释 使用MATLAB进行三维空间绘图 三维图具有直观、立体的空间形象,容易使人形成总体的比较具体的三维印象,接近于现实.所以 对某…

Matlab三维散点绘图

有两种方式可以实现对散点集的三维绘图 1.scatters函数 散点图 - MATLAB scatter- MathWorks 中国 s ones(max(size(z)),1)*20; %圆圈的大小 scatter3(x,y,z,s,z,filled,s); %filled表示填充圆圈 2.三维插值mesh函数 首先对散点集进行三维插值,使用scatteredIn…

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

matlab绘制三维图中,最常见的是三维曲线图和三维曲面图 三维曲线图比较简单函数命令为plot3,已经详细介绍过,具体请见Matlab三维绘图------三维曲线图 三维曲面图的不同类型及对比 三维曲面图又分为三维网面和三维网格面图,其原…

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后,弹出以下…