Meshgrid 函数的基本用法

在 Numpy 的官方文章里, meshgrid 函数的英文描述也显得文绉绉的,理解起来有些难度。可以这么理解, meshgrid 函数用两个坐标轴上的点在平面上画网格。

用法:

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

   [X,Y]=meshgrid(x) 与 [X,Y]=meshgrid(x,x) 是等同的

   [X,Y,Z]=meshgrid(x,y,z) 生成三维数组,可用来计算三变量的函数和绘制三维立体图

这里,主要以 [ X , Y ]= meshgrid ( x , y ) 为例,来对该函数进行介绍。 [ X , Y ] = meshgrid ( x , y ) 将向量 x 和 y 定义的区域转换成矩阵 X 和 Y , 其中矩阵 X 的行向量是向量 x 的简单复制,而矩阵 Y 的列向量是向量 y 的简单复制 ( 注:下面代码中 X 和 Y 均是数组,在文中统一称为矩阵了 ) 。假设 x 是长度为 m 的向量, y 是长度为 n 的向量,则最终生成的矩阵 X 和 Y 的维度都是 n * m (注意不是 m * n )。文字描述可能不是太好理解,下面通过代码演示下:

点击查看代码
import numpy as np
import matplotlib.pyplot as plt
m,n=(5,3)
x=np.linspace(0,1,m)
y=np.linspace(0,1,n)
X,Y=np.meshgrid(x,y)
print('x:',x)
print('y:',y)
print('X:',X)
print('Y:',Y)

运行结果:

点击查看代码
x: [0.   0.25 0.5  0.75 1.  ]
y: [0. 0.5 1. ]
X: [[0. 0.25 0.5 0.75 1. ]
[0. 0.25 0.5 0.75 1. ]
[0. 0.25 0.5 0.75 1. ]]
Y: [[0. 0. 0. 0. 0. ]
[0.5 0.5 0.5 0.5 0.5]
[1. 1. 1. 1. 1. ]]

查看矩阵对应的维度:

点击查看代码
print(X.shape)
print(Y.shape)
plt.plot(X,Y,marker='1',color='red',linestyle='')
plt.show()

运行结果

点击查看代码
(3, 5)
(3, 5)

![](https://img2024.cnblogs.com/blog/3383332/202402/3383332-20240228102614135-1741973410.png)

Python语言Numpy包之Meshgrid 函数的更多相关文章

  1. python之numpy包知识要点总结

    一.简介 numpy主要是用来存储和处理大型矩阵,提供了一种存储单一数据类型的多维数组对象------ndarray.还提供了多种运算函数,能够完成数据计算和统计分析,是数据分析的重要工具包. 二.数 ...

  2. Python:numpy中的tile函数

    在学习机器学习实教程时,实现KNN算法的代码中用到了numpy的tile函数,因此对该函数进行了一番学习: tile函数位于python模块 numpy.lib.shape_base中,他的功能是重复 ...

  3. Python语言特性之1:函数参数传递

    问题:在Python文档中好像没有明确指出一个函数参数传递的是值传递还是引用传递.如下面的代码中"原始值"是不放生变化的: class PassByReference: def _ ...

  4. PYTHON语言之常用内置函数

    一 写在开头本文列举了一些常用的python内置函数.完整详细的python内置函数列表请参见python文档的Built-in Functions章节. 二 python常用内置函数请注意,有关内置 ...

  5. 学习笔记27—python中numpy.ravel() 和 flatten()函数

    简介 首先声明两者所要实现的功能是一致的(将多维数组降位一维).这点从两个单词的意也可以看出来,ravel(散开,解开),flatten(变平).两者的区别在于返回拷贝(copy)还是返回视图(vie ...

  6. Python连载7-time包的其他函数

    接连载6 一.time包 1.函数:sleep(second) (1)含义:是程序进入休眠状态多少秒 (2)格式:time.sleep(int num) 2.函数:strftime() (1)含义:将 ...

  7. python语言(三)文件修改、函数、json操作、监控日志代码、高效读取文件

    1.文件操作(2)   代码 f = open('a.txt','a') # "a" 如果源文件不在,会自动创建 f.write('abc') result = f.read() ...

  8. R语言-神经网络包RSNNS

    code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...

  9. windows下python安装Numpy、Scipy、matplotlib模块(转载)

    python下载链接     Numpy下载链接 python中Numpy包的安装及使用 Numpy包的安装 准备工作 Python安装 pip安装 将pip所在的文件夹添加到环境变量path路径中 ...

  10. Python语言的特点及自学建议

    Python语言的特点Python语言是一种被广泛使用的高级通用脚本编程语言,具有很多区别于其他语言的特点,这里仅列出如下一些重要特点.(1)语法简洁:实现相同功能,Python语言的代码行数仅相当于 ...

随机推荐

  1. 自定义ConditionalOnXX注解(二)

    一.前言 在之前的文章<自定义ConditionalOnXX注解>中,介绍了Conditional注解的实现原理和实现自定义Conditional注解的基础方法,但是有些场景我们需要用一个 ...

  2. STM32 | STM32到底是什么?(第一天)

    零基础 STM32 第一天 一.认知STM32 1.STM32概念 STM32:意法半导体基于ARM公司的Cortex-M内核开发的32位的高性能.低功耗单片机. ST:意法半导体 M:基于ARM公司 ...

  3. [C++] 进程注入dll版

    目录 前言 前提 原理 代码 一些问题 前言 这几天在弄进程注入的事情,一直做不出来直接的进程注入,也就是不要dll的注入.因为dll注入据说容易触发杀软,但是弄了两天没弄出来.代码明明不报错,目标进 ...

  4. CXPACKET等待类型分析

    背景 客户反馈今天8点钟开始进入业务高峰期后,数据库的CPU利用率非常高,基本达到了100%,前端应用也非常慢.怀疑是昨晚业务系统升级导致,请我们紧急协助分析. 现象 登录到SQL专家云,进入相关时间 ...

  5. cpu过高什么原因?怎么排查?

    运行大型程序或应用程序:当计算机运行大型程序或应用程序时,CPU需要处理更多的数据和指令,因此CPU占用率会相应地增加. 病毒或恶意软件:某些病毒或恶意软件会占用计算机的CPU资源来执行恶意任务,例如 ...

  6. Java 设计模式----单例模式--懒汉式

    1 package com.bytezreo.singleton; 2 3 /** 4 * 5 * @Description 单例模式 ---懒汉式 6 * @author Bytezero·zhen ...

  7. FreeRTOS教程1 基础知识

    1.准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) Keil µVision5 IDE(MDK-Arm) 野火DAP仿真器 2.学 ...

  8. pod探针的三种类型及三种检测方式

    Pod探针是Kubernetes中的一种机制,用于检测Pod中的容器是否正常运行.它主要有三种类型:存活探针(LivenessProbe).就绪探针(ReadinessProbe)和启动探针(Star ...

  9. pod的拉取和重启策略

    在Kubernetes中,Pod的拉取策略和重启策略可以通过YAML配置文件来定义. Pod的拉取策略 Pod的拉取策略指的是Kubernetes在创建或重启Pod时,如何获取Pod所需的容器镜像.这 ...

  10. linux下find命令根据系统时间查找文件用法

    find 命令有几个用于根据您系统的时间戳搜索文件的选项.这些时间戳包括 mtime 文件内容上次修改时间 atime 文件被读取或访问的时间 ctime 文件状态变化时间 mtime 和 atime ...