meshgrid方法

meshgrid方法目录meshgrid绘制曲面图三维网络meshgridmeshgrid和mesh方法的差别在于是否会画出栅格线绘制曲面图生成绘制3D图形所需的网格数据。因为在计算机中进行绘图操作时,往往需要一些采样点,然后根据这些采样点来绘制出整个图形。涉及到x、y这两组数据可以看做是在Oxy平面内对坐标进行采样得到的坐标对(x,y)。[X,Y]=meshgrid…

大家好,又见面了,我是你们的朋友全栈君。

meshgrid

meshgrid 和 mesh 方法的差别在于是否会画出栅格线

绘制曲面图

  • 生成绘制3D图形所需的网格数据。因为在计算机中进行绘图操作时,往往需要一些采样点,然后根据这些采样点来绘制出整个图形。

  • 涉及到x、y这两组数据可以看做是在 Oxy 平面内对坐标进行采样得到的坐标对(x, y)。

  • [X,Y] = meshgrid(x,y)

    • 解释:输出 X 的每一行的数值都是复制的x的值;输出 Y 的每一列的数值都是复制的y的值。
    • 所以,若x-1xm维, y-1xn维,则[X,Y]为 mxn 维
    • 也就是说,在 XOY 平面上,用m个x和n个y,通过不断做垂线,产生交点从而生成小的矩形网格的方法,生成网格图。
  • [X,Y]=meshgrid(x)[X,Y]=meshgrid(x,x) 是等同的

    % meshgrid--draw 2D figure.
    >> a=[1 2 3]; b= [2 3];
    >> [x y]=meshgrid(a,b)
    x =
         1     2     3
         1     2     3
    y =
         2     2     2
         3     3     3
    % shape(x)=shape(y)=2x3
    
    % Draw 3D figure
    [X,Y] = meshgrid(-2:.2:2, -2:.2:2);
    Z = Y .* exp(-X.^2 - Y.^2);
    mesh(X,Y,Z)
    
    • 结果图片:Meshgrid-1.jpgMeshgrid-1.jpg
  • 从 R2016b 开始,操作网格之前并不总是需要先创建网格,可以直接使用 surf 语句 surf(x, y, z)

三维网络

  • [X,Y,Z]=meshgrid(x,y,z) 生成三维数组

  • 在区间 [0,6] 内使用定义的 x、y 和 z 坐标创建三维网格坐标,并计算表达式 \(x^2+y^2+z^2\)

    x = 0:2:6;
    y = 0:1:6;
    z = 0:3:6;
    [X,Y,Z] = meshgrid(x,y,z);
    F = X.^2 + Y.^2 + Z.^2;
    
  • 确定网格的大小。三个坐标向量具有不同的长度,构成一个网格点矩形框。

    gridsize = size(F)
    
    % 结果
    gridsize = 1×3
    
     7     4     3
    
    • 输出的 gridsize 是 x-y-z 的三个维度。
    • 也就是说,X,Y,Z都是 7×4。每个都是3层,即X[:,:,1-3]
      • X 的每行都是0,2,4,6;
      • Y 的每列都是0-6;
      • Z 的所有元素都是0,3,6;
    • 可以理解成 z 层 x-y 平面。比如本题 3层7×4 平面。
  • 使用单输入语法,基于 x 中定义的坐标生成均匀分布的三维网格。新网格构成一个网格点正方体。

    [X,Y,Z] = meshgrid(x);
    G = X.^2 + Y.^2 + Z.^2;
    gridsize = size(G)
    
    % 结果
    gridsize = 1×3
    
     4     4     4
    
    • 此时只输入 x,因为 x 只有4个元素,则 X-Y-Z 皆是 4×4维矩阵,共有4层。X的每行都是0,2,4,6; Y的每列都是0,2,4,6; Z的所有元素都是0,2,4,6。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136621.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • docker端口映射原理_docker修改端口映射

    docker端口映射原理_docker修改端口映射一、安装RabbitMQ[root@localhost~]#dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTS

    2022年10月18日
  • 如何理解java方法的传值和传引用的参数传递方式_指针参数传递

    如何理解java方法的传值和传引用的参数传递方式_指针参数传递结论:1)当使用基本数据类型作为方法的形参时,在方法体中对形参的修改不会影响到实参的数值2)当使用引用数据类型作为方法的形参时,若在方法体中修改形参指向的数据内容,则会对实参变量的数值产生影响,因为形参变量和实参变量共享同一块堆区;3)当使用引用数据类型作为方法的形参时,若在方法体中修改形参变量的指向,此时不会对实参变量的数值产生影响,因此形参变量和实参变量分别指向不同的堆区例一:基本数据类型作为形参,运行结果不改变实参publicclassMain{publicstatic

  • android UI之Shape详解_GradientDrawable

    在Android开发过程中,经常需要改变控件的默认样式, 那么通常会使用多个图片来解决。不过这种方式可能需要多个图片,比如一个按钮,需要点击时的式样图片,默认的式样图片。 这样就容易使apk变大。    那么除了使用drawable这样的图片外,还有其他方法吗?    本次就谈一下自定义图形shape,Android上支持以下几种属性gradient、stroke、

  • jsonp的实现原理_jsonp为什么要提供回调函数

    jsonp的实现原理_jsonp为什么要提供回调函数前几天看了动脑老师老宋讲的jsonp原理,觉得很受用,现做下笔记。什么是跨域:跨域是浏览器同源策略而产生的,在不同协议,不同端口,不同域名下(以上任意一个不同都算是跨域)的两个服务之间是无法互相访问的。举例:http://www.baidu.com/index.html调用http://www.baidu.com/server.php(非跨域)http

    2022年10月24日
  • android studio java和xml_android studio闪退

    android studio java和xml_android studio闪退Program:         $JDKPath$\bin\javah.exeParameters:      -classpath$OutputPath$;$ModuleSdkPath$/platforms/android-25/android.jar-jni-d$ModuleFileDir$/src/main/jni$FileClass$

  • matlab画图颜色属性「建议收藏」

    matlab画图颜色属性「建议收藏」各种颜色属性选项选项意义选项意义’r’红色’m’粉红’g’绿色’c’青色32’b’兰色’w’白色’y’黄色’k’黑色各种线型属性选项选项意义选项意义’-‘实线’–‘虚线’:’点线’-.’点划线各种标记点属性选项选项意义选项意义’.’用点号绘制各数据点’^’用上三角绘制各数据点’+’用’+’号绘制各数据点’v’…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号