首页 > 生活

MATLAB-基础画图meshgrid

更新时间:2025-05-17 12:29:57 阅读: 评论:0

在看三维图像相关的代码时,理解的不太透彻,有时间了就看了几本书,巩固一下。

meshgrid()很常见的一个函数,见下图

第一句话很关键啊,其实就是产生坐标,因为二维图像的时候,用的是向量来表示坐标点,那么三维图像的时候,坐标点就应该用矩阵来表示,这是很自然的一件事情,但是落实到编程实现的时候,却不太直观,

如下是我们想象中的坐标和函数值

\begin{bmatrix} (x_1,y_1)&(x_早泄的原因1,y_2)&(x系统架构_1,y_3)\\ (x_2,y_1)&(x_2,y_2)&(x_2,y_3)\\ (x_3,y_1)&(x_3,y_2)&(x_3,y_3)\\ \end{bmatrix} and \begin{bmatrix} z_{11}&z_{12}&z_{13}\\ z_{21}&z_{22}&z_{23}\\ z_{31}&z_{32}&z_{33}\\ \end{bmatrix}

但计算机处理的时候,不是这样的。他会把 (x,y) 的坐标分开来存

X= \begin{bmatrix} x_{1}&x_{2}&x_{3}\\ x_{1}&x_{2}&x_{3}\\ x_{1}&x_{2}&x_{3}\\ \end{bmatrix} \quad and\quad Y= 郑州到西藏 \begin{bmatrix} y_{1}&y_{1}&y_{1}\\ y_{2}&y_{2}&y_{2}\\ y_{3}&传奇私服服务端;y_{3}&y_{3}\\ \end{bmatrix}

可以想象到的是, X,Y 是坐标点的缘故,X爱的艺术的每一列肯定是同一个值,Y的每一行也是同一个值。那么为什么X的每一列是同一个值,根据直觉来讲应该是

X= \begin{bmatrix} x_{1}&x_{1台球厅}&x_{1}\\ x_{2}&x_{2}&x_{2}\\ x_{3}&x_{3}&a美国地址生成器mp;x_{3}\\ \end{bmatrix} \quad and\quad Y= \begin{bmatrix} y_{1}&y_{3}&y_{3}\\ y_{1}&y_{3}&y_{3}\\ y_{1}&y_{3}&y_{3}\\ \end{bmatrix}

由于上述两种表达形式差了逆时针90度的转置,个人猜测是因为二维坐标系与三维坐标系的表示不一样,meshgrid()混用了两种坐标系的表示方法。

%%clcclear allclose allx = -2:0.5:2;y = -2:0.5:2;夏威夷果[X,Y] = meshgrid(x,y);plot(X,Y,'o');% plot(X,Y);

X = -2.0000 -1.5000 -1.0000 -0.5000 0 0.5000 1.0000 1.5000 2.0000 -2.0000 -1.5000 -1.0000 -0.5000 0 0.5000 1.0000 1.5000 2.0000 -2.0000 -1.5000 -1.0000 -0.5000 0 0.5000 1.0000 1.5000 2.0000 -2.0000 -1.5000 -1.0000 -0.5000 0 0.5000 1.0000 1.5000 2.0000 -2.0000 -1.5000 -1.0000 -0.5000 0 0.5000 1.0000 1.5000 2.0000 -2.0000 -1.5000 -1.0000 -0.5000 0 0.5000 1.0000 1.5000 2.0000 -2.0000 -1.5000 -1.0000 -0.5000 0 0.5000 1.0000 1.5000 2.0000 -2.0000 -1.5000 -1.0000 -0.5000 0 0.5000 1.0000 1.5000 2.0000 -2.0000 -1.5000 -1.0000 -0.5000 0 0.5000 1.0000 1.5000 2.0000Y = -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -1.5000 -1.5000 -1.5000 -1.5000 -1.5000 -1.5000 -1.5000 -1.5000 -1.5000 -1.0000 -1.0000 -1.0000 -1.000乒乓球双打0 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 0 0 0 0 0 0 结婚前的准备 0 0 0 0.5000 0.5000 0.5000 0.5000 rta 南京有什么好吃的 0.5000 0.5000 0.5000 0.5000 0.5000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.5000 1.5000 1.5000 1.5000 1.5000 1.5000 大话骰 1.5000 1.林心如怎么了5000 1.5000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000

顺便又发现了下面的不同。

plot(X,Y,'o');plot(X,Y);plot(Xenactus,Y);

很奇怪为什么减少了一个参数之后,线条没有了,变成了一条条垂直线。事出必有因,查查plot函数把。

应该就是上面一段话了,猜测三个参数如果只写一个的话会使得其他两个参数自动选择默认参数。

plot(X,Y);采用系统默认的黑色实线无标记

plot(X,Y,'o');;采用无线型圆圈随机颜色,感觉解释的有点扯

回归正题,有了坐标点,以及函数关系式,可以画图了。

%%clcclear allclose all[X,Y] = meshgrid([-1:0.2:1]);%创建网格数据Z = X.*(-X.^2 - Y.^2);plot3(X,Y,Z);xlabel('x');ylabel('y');zlabel('z');plot3(X,Y,Z)函数产生的图像%%clcclear allclose all[X,Y] = meshgrid([-1:0.2:1]);%创建网格数据Z = X.*(-X.^2 - Y.^2);mesh(X,Y,Z);xlabel('x');ylabel(&课程顾问#39;y');zlabel('z');mesh(X,Y,Z)产生的图像

可以发现plot3丢失了许多细节,不太好看。

%%clcclear allclose all[X,Y] = meshgrid([-1:0.2:1]);%创建网格数据Z =慢性肠炎 X.*(-X.^2 - Y.^2);meshz(X,Y,Z);xlabel('x');ylabel(&去鼠标加速度#39;静水边y');zlabel('z');%%clc百合怎么做好吃clear allclose all[X,Y] = meshgrid([-1:0.2:1]);%创建网格数据Z = X.*(-X.^2 - Y.^2);subplot(2,2,1);plot3(X,Y,Z);title('plot3');subplot(2,2,2);mesh(X,Y,Z);title('mesh');subplot(2,2,3);meshc(X,Y,Z);title('meshc');subplot(2,2,4);meshz(X,Y,Z);title('meshz');

本文发布于:2023-06-05 00:53:39,感谢您对本站的认可!

本文链接:http://www.ranqi119.com/ge/85/222070.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:画图   基础   MATLAB   meshgrid
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 站长QQ:55-9-10-26|友情:优美诗词|电脑我帮您|扬州装修|369文学|学编程|软件玩家|水木编程|编程频道