掌握Python的X篇_33_MATLAB的替代组合NumPy+SciPy+Matplotlib

news2024/11/24 7:07:49

numPy 通常与 SciPy( Scientific Python )Matplotlib (绘图库)一起使用,这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。

文章目录

  • 1. numpy
    • 1.1 numpy简介
    • 1.2 矩阵类型的nparray
  • 2. Matplotlib
    • 2.1 Matplotlib简介
    • 2.2 Matplotlib使用实例

1. numpy

1.1 numpy简介

numpy /nampai/数值计算库,简单而言,可以被当做向量,线性代数计算。

pip install numpy

官方推荐导入方式:
np的别名导入numpy,这可能是因为历史遗留问题,有些第三方库是以np的别名导入的numpy库。

import numpy as np

使用实例:

In [11]: import numpy as np

In [12]: np.pi
Out[12]: 3.141592653589793

1.2 矩阵类型的nparray

In [14]: x = np.linspace(-2*np.pi,2*np.pi,100) #在-2pi到2pi这个范围得到100个点,得到一个向量
In [15]: type(x)
Out[15]: numpy.ndarray
In [16]: x
Out[16]:
array([-6.28318531, -6.15625227, -6.02931923, -5.9023862 , -5.77545316,
       -5.64852012, -5.52158709, -5.39465405, -5.26772102, -5.14078798,
       -5.01385494, -4.88692191, -4.75998887, -4.63305583, -4.5061228 ,
       -4.37918976, -4.25225672, -4.12532369, -3.99839065, -3.87145761,
       -3.74452458, -3.61759154, -3.4906585 , -3.36372547, -3.23679243,
       -3.10985939, -2.98292636, -2.85599332, -2.72906028, -2.60212725,
       -2.47519421, -2.34826118, -2.22132814, -2.0943951 , -1.96746207,
       -1.84052903, -1.71359599, -1.58666296, -1.45972992, -1.33279688,
       -1.20586385, -1.07893081, -0.95199777, -0.82506474, -0.6981317 ,
       -0.57119866, -0.44426563, -0.31733259, -0.19039955, -0.06346652,
        0.06346652,  0.19039955,  0.31733259,  0.44426563,  0.57119866,
        0.6981317 ,  0.82506474,  0.95199777,  1.07893081,  1.20586385,
        1.33279688,  1.45972992,  1.58666296,  1.71359599,  1.84052903,
        1.96746207,  2.0943951 ,  2.22132814,  2.34826118,  2.47519421,
        2.60212725,  2.72906028,  2.85599332,  2.98292636,  3.10985939,
        3.23679243,  3.36372547,  3.4906585 ,  3.61759154,  3.74452458,
        3.87145761,  3.99839065,  4.12532369,  4.25225672,  4.37918976,
        4.5061228 ,  4.63305583,  4.75998887,  4.88692191,  5.01385494,
        5.14078798,  5.26772102,  5.39465405,  5.52158709,  5.64852012,
        5.77545316,  5.9023862 ,  6.02931923,  6.15625227,  6.28318531])

In [17]: y = np.cos(x) #每个点进行计算

In [18]: y
Out[18]:
array([ 1.        ,  0.99195481,  0.9679487 ,  0.92836793,  0.87384938,
        0.80527026,  0.72373404,  0.63055267,  0.52722547,  0.41541501,
        0.29692038,  0.17364818,  0.04758192, -0.07924996, -0.20480667,
       -0.32706796, -0.44406661, -0.55392006, -0.65486073, -0.74526445,
       -0.82367658, -0.88883545, -0.93969262, -0.97542979, -0.99547192,
       -0.99949654, -0.98743889, -0.95949297, -0.91610846, -0.85798341,
       -0.78605309, -0.70147489, -0.60560969, -0.5       , -0.38634513,
       -0.26647381, -0.14231484, -0.01586596,  0.1108382 ,  0.23575894,
        0.35688622,  0.47227107,  0.58005691,  0.67850941,  0.76604444,
        0.84125353,  0.90292654,  0.95007112,  0.9819287 ,  0.99798668,
        0.99798668,  0.9819287 ,  0.95007112,  0.90292654,  0.84125353,
        0.76604444,  0.67850941,  0.58005691,  0.47227107,  0.35688622,
        0.23575894,  0.1108382 , -0.01586596, -0.14231484, -0.26647381,
       -0.38634513, -0.5       , -0.60560969, -0.70147489, -0.78605309,
       -0.85798341, -0.91610846, -0.95949297, -0.98743889, -0.99949654,
       -0.99547192, -0.97542979, -0.93969262, -0.88883545, -0.82367658,
       -0.74526445, -0.65486073, -0.55392006, -0.44406661, -0.32706796,
       -0.20480667, -0.07924996,  0.04758192,  0.17364818,  0.29692038,
        0.41541501,  0.52722547,  0.63055267,  0.72373404,  0.80527026,
        0.87384938,  0.92836793,  0.9679487 ,  0.99195481,  1.        ])

numPy 通常与 SciPy( Scientific Python )和 Matplotlib (绘图库)一起使用,这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。

2. Matplotlib

2.1 Matplotlib简介

安装:

In [19]: pip install matplotlib

如果安装失败,可以尝试升级pip,命令如下:

python -m pip install -U pip

官网 : https://matplotlib.org/

在这里插入图片描述

官方推荐导入方式:

import matplotlib.pyplot as plt

2.2 Matplotlib使用实例

实例1:绘制cos图

In [21]: plt.plot(x,y)
In [21]: plt.plot(x,y)
Installed tk event loop hook.
Out[21]: [<matplotlib.lines.Line2D at 0x2b20f74b760>]
In [23]: plt.show()

运行结果:
在这里插入图片描述
实例2:以脚本形式,绘制复杂的图

import numpy as np
import matplotlib.pyplot as plt

if __name__ == "__main__":
    x = np.linspace(-2*np.pi,2*np.pi,100)
    y = np.cos(x) + np.cos(2*x) + np.cos(3*x)

    plt.plot(x,y)
    plt.show()

运行结果如下:
在这里插入图片描述

3. 学习视频地址:MATLAB的替代组合NumPy+SciPy+Matplotlib

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/871299.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【设计模式】前端控制器模式

前端控制器模式&#xff08;Front Controller Pattern&#xff09;是用来提供一个集中的请求处理机制&#xff0c;所有的请求都将由一个单一的处理程序处理。该处理程序可以做认证/授权/记录日志&#xff0c;或者跟踪请求&#xff0c;然后把请求传给相应的处理程序。以下是这种…

XML 数据传输格式

目录 XML简介 一、初识XML 1.什么是 XML&#xff1f; 2.XML 和 HTML 之间的差异 3.XML 不会做任何事情 4.通过 XML 您可以发明自己的标签 5.XML 不是对 HTML 的替代 二、XML 用途 1.XML 把数据从 HTML 分离 2.XML 简化数据共享 3.XML 简化数据传输 三、XML 树结构 1.一个 XML 文…

简单介绍C++中的模板

目录 一、泛型编程 泛型编程的概念: 泛型编程举例: 二、函数模板 函数模板的概念&#xff1a; 函数模板的格式&#xff1a; 函数模板的实例化: 隐式实例化&#xff1a; 显式实例化&#xff1a; 模板参数的匹配原则: 三、类模板 类模板的格式定义&#xff1a; 类模…

PyQt5组件之QLabel显示图像和视频

目录 一、显示图像和视频 1、显示图像 2、显示视频 二、QtDesigner 窗口简单介绍 三、相关函数 1、打开本地图片 2、保存图片到本地 3、打开文件夹 4、打开本地文本文件并显示 5、保存文本到本地 6、关联函数 7、图片 “.png” | “.jpn” Label 自适应显示 一、显…

C++ 之 线性插值 贝塞尔曲线 非线性动画

非线性动画在程序&#xff0c;游戏和动画中运用非常广泛&#xff0c;那么我们应该如何实现&#xff1f; 非线性动画上的点在s-t图像上非线性&#xff0c;即不为一次函数&#xff0c;实则为处处连续的曲线 对于此曲线可模拟&#xff0c;这里我们用贝塞尔曲线 一&#xff0c;基本…

Azure DevOps基于 Net6.0 的 WPF 程序如何进行持续集成、持续编译

正文 1&#xff0c; Azure DevOps 创建项目 Project name&#xff1a;”NetCore_WPF_Sample“ Visibility&#xff1a;”Private“&#xff08;根据实际项目需求&#xff09; Version control&#xff1a;”Git“ Work item process&#xff1a;”Agile“ 点击 ”Create“…

【linux】2 软件管理器yum和编辑器vim

目录 1. linux软件包管理器yum 1.1 什么是软件包 1.2 关于rzsz 1.3 注意事项 1.4 查看软件包 1.5 如何安装、卸载软件 1.6 centos 7设置成国内yum源 2. linux开发工具-Linux编辑器-vim使用 2.1 vim的基本概念 2.2 vim的基本操作 2.3 vim正常模式命令集 2.4 vim末行…

【设计模式】MVC 模式

MVC 模式代表 Model-View-Controller&#xff08;模型-视图-控制器&#xff09; 模式。这种模式用于应用程序的分层开发。 Model&#xff08;模型&#xff09; - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑&#xff0c;在数据变化时更新控制器。View&#xff…

【爬虫】爬取旅行评论和评分

以马蜂窝“普达措国家公园”为例&#xff0c;其评论高达3000多条&#xff0c;但这3000多条并非是完全向用户展示的&#xff0c;向用户展示的只有5页&#xff0c;数了一下每页15条评论&#xff0c;也就是75条评论&#xff0c;有点太少了吧&#xff01; 因此想了个办法尽可能多爬…

Linux 终端命令之文件浏览(2) more

Linux 文件浏览命令 cat, more, less, head, tail&#xff0c;此五个文件浏览类的命令皆为外部命令。 hannHannYang:~$ which cat /usr/bin/cat hannHannYang:~$ which more /usr/bin/more hannHannYang:~$ which less /usr/bin/less hannHannYang:~$ which head /usr/bin/he…

最新智能AI系统+ChatGPT源码搭建部署详细教程+知识库+附程序源码

近期有网友问宝塔如何搭建部署AI创作ChatGPT&#xff0c;小编这里写一个详细图文教程吧。 使用Nestjs和Vue3框架技术&#xff0c;持续集成AI能力到AIGC系统&#xff01; 增加手机端签到功能、优化后台总计绘画数量逻辑&#xff01;新增 MJ 官方图片重新生成指令功能同步官方 …

nginx负载均衡配置过程

一、环境说明 主机名IPnginx服务器nginx-server192.168.198.141web页面1web1192.168.198.100web页面2web2192.168.198.200 关闭所有主机的防火墙和Selinux服务 二、配置过程 自定义页面 自定义web1和web2的页面 主配置文件 查看nginx的主配置文件 vim /usr/local/nginx/c…

全球八分之一的河流受到缺氧影响

一项全球研究发现&#xff0c;世界各地河流中的溶解氧含量低得危险。缺氧的真实发生率可能更高。 小型、低梯度的城市河流&#xff0c;例如图中北卡罗来纳州的那条河流&#xff0c;是最容易缺氧的河流之一。图片来源&#xff1a;乔安娜布拉扎克 2023 年 3 月&#xff0c;《卫报…

LeetCode--HOT100题(29)

目录 题目描述&#xff1a;19. 删除链表的倒数第 N 个结点&#xff08;中等&#xff09;题目接口解题思路代码 PS: 题目描述&#xff1a;19. 删除链表的倒数第 N 个结点&#xff08;中等&#xff09; 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链…

Microsoft365家庭版1年订阅新功能及版本对比

Microsoft 365可帮助您工作、学习、组织、连接和创&#xff0c;只需一项方便的订阅&#xff0c;即可尽享具有 Microsft 365 的6款精品应用、可同时登录5 台设备&#xff08;包括 Windows、macOS、iOS 和 Android 设备&#xff09;、高级安全性等&#xff0c;并且可以自由管理授…

升级STM32电机PID速度闭环编程:从F1到F4的移植技巧与实例解析

引言&#xff1a; 在嵌入式系统开发中&#xff0c;STM32系列微控制器广泛应用于各种应用领域。而对于直流有刷电机的控制&#xff0c;PID速度闭环是一种常用的控制方式。本文将以此为例&#xff0c;探讨如何从STM32F1系列移植到STM32F4系列&#xff0c;并详细介绍HAL库在不同型…

渗透测试验证码爆破实操

一、准备工具 captcha-killer-modified 下载路径 https://github.com/f0ng/captcha-killer-modified https://github.com/f0ng/captcha-killer-modified/releases/download/0.21-beta/captcha-killer-modified-0.21-beta-jdk11.jar 二、安装工具 burp安装captcha-killer-modif…

登录验证码实现

Hutool代码改造 Hutool 有参考文档&#xff1b;很多工具类&#xff1b;把一些功能都封装好&#xff1b;都不用你自己去写&#xff1b;直接调用它的工具类 它这里会详细告诉你引入方式Hutool <dependency><groupId>cn.hutool</groupId><artifactId>hu…

【第二阶段】kotlin语言的内联-inline关键字

1.函数如果没有使用lambda作为参数&#xff0c;就不需要声明成内联 2.函数如果使用lambda作为参数&#xff0c;就需要声明成内联&#xff0c;如果不使用内联&#xff0c;在调用端会生成多个对象来完成lambda的调用&#xff0c;会造成性能的损耗 3.函数如果使用lambda作为参数&a…

模板Plus【完整版】

文章目录 1.非类型模板参数的引入2.标准库和普通数组3.模板的特化3.1介绍3.2代码讲解3.3画图讲解 4.类、函数模板特化初识5.全特化与偏特化6.模板不能分离编译1.typename的使用2.预处理相关知识3.为什么不能分离编译&#xff1f;4.怎么解决&#xff1f;5.代码详解1.vector.h2.v…