当前位置: 首页 > news >正文

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

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 npIn [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 pltif __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

相关文章:

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

numPy 通常与 SciPy( Scientific Python )和 Matplotlib (绘图库)一起使用&#xff0c;这种组合广泛用于替代 MatLab&#xff0c;是一个强大的科学计算环境&#xff0c;有助于我们通过 Python 学习数据科学或者机器学习。 文章目录 1. numpy1.1 numpy简介1.2 矩阵类型的nparra…...

Python解决-力扣002-两数相加

两数相加&#xff1a;链表表示的逆序整数求和 在这篇技术博客中&#xff0c;我们将讨论一个力扣&#xff08;LeetCode&#xff09;上的编程题目&#xff1a;两数相加。这个问题要求我们处理两个非空链表&#xff0c;它们表示两个非负整数。每个链表中的数字都是逆序存储的&…...

nginx基于源码安装的方式对静态页面、虚拟主机(IP、端口、域名)和日志文件进行配置

一.静态页面 1.更改页面内容 2.更改配置文件 3.测试 二.虚拟主机配置 1.基于IP &#xff08;1&#xff09;在html目录下新建目录存放测试文件 &#xff08;2&#xff09;修改nginx.conf文件&#xff0c;在htttp模块中配置两个server模块分别对应两个IP &#xff08;3&am…...

[FPAG开发]使用Vivado创建第一个程序

1 打开Vivado软件&#xff0c;新建项目 选择一个纯英文路径 选择合适的型号 产品型号ZYNQ-7010xc7z010clg400-1ZYNQ-7020xc7z010clg400-2 如果型号选错&#xff0c;可以单击这里重新选择 2 创建工程源文件 可以看到文件创建成功 双击文件打开&#xff0c;插入代码 modul…...

使用 Python 在 NLP 中进行文本预处理

一、说明 自然语言处理 &#xff08;NLP&#xff09; 是人工智能 &#xff08;AI&#xff09; 和计算语言学的一个子领域&#xff0c;专注于使计算机能够理解、解释和生成人类语言。它涉及计算机和自然语言之间的交互&#xff0c;允许机器以对人类有意义和有用的方式处理、分析…...

[足式机器人]Part3机构运动微分几何学分析与综合Ch03-1 空间约束曲线与约束曲面微分几何学——【读书笔记】

本文仅供学习使用 本文参考&#xff1a; 《机构运动微分几何学分析与综合》-王德伦、汪伟 《微分几何》吴大任 Ch01-4 平面运动微分几何学 3.1 空间曲线微分几何学概述3.1.1 矢量表示3.1.2 Frenet标架 连杆机构中的连杆与连架杆构成运动副&#xff0c;该运动副元素的特征点或特…...

pytest框架快速进阶篇-pytest前置和pytest后置,skipif跳过用例

一、Pytest的前置和后置方法 1.Pytest可以集成unittest实现前置和后置 importunittestimportpytestclassTestCase(unittest.TestCase):defsetUp(self)->None:print(unittest每个用例前置)deftearDown(self)->None:print(unittest每个用例后置)classmethoddefsetUpClass…...

Python 基础语法 | 常量表达式,变量,注释,输入输出

常量和表达式 我们可以把 Python 当成一个计算器&#xff0c;来进行一些算术运算 print(1 2 - 3) # 0 print(1 2 * 3) # 7 print(1 2 / 3) # 1.6666666666666665注意&#xff1a; print 是一个 Python 内置的 函数可以使用 - * / () 等运算符进行算术运算&#xff0c;先…...

SQL | 分组数据

10-分组数据 两个新的select子句&#xff1a;group by子句和having子句。 10.1-数据分组 上面我们学到了&#xff0c;使用SQL中的聚集函数可以汇总数据&#xff0c;这样&#xff0c;我们就能够对行进行计数&#xff0c;计算和&#xff0c;计算平均数。 目前为止&#xff0c…...

软件测试技术之如何编写测试用例(6)

四、客户端兼容性测试 1、平台测试 市场上有很多不同的操作系统类型&#xff0c;最常见的有Windows、Unix、Macintosh、Linux等。Web应用系统的最终用户究竟使用哪一种操作系统&#xff0c;取决于用户系统的配置。这样&#xff0c;就可能会发生兼容性问题&#xff0c;同一个应…...

论文阅读——Adversarial Eigen Attack on Black-Box Models

Adversarial Eigen Attack on Black-Box Models 作者&#xff1a;Linjun Zhou&#xff0c; Linjun Zhou 攻击类别&#xff1a;黑盒&#xff08;基于梯度信息&#xff09;&#xff0c;白盒模型的预训练模型可获得&#xff0c;但训练数据和微调预训练模型的数据不可得&#xff…...

自然语言处理从入门到应用——LangChain:记忆(Memory)-[自定义对话记忆与自定义记忆类]

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 自定义对话记忆 本节介绍了几种自定义对话记忆的方法&#xff1a; from langchain.llms import OpenAI from langchain.chains import ConversationChain from langchain.memory import ConversationBufferMemoryllm…...

【C/C++】STL queue 非线程安全接口,危险!

STL 中的 queue 是非线程安全的&#xff0c;一个组合操作&#xff1a;front(); pop() 先读取队首元素然后删除队首元素&#xff0c;若是有多个线程执行这个组合操作的话&#xff0c;可能会发生执行序列交替执行&#xff0c;导致一些意想不到的行为。因此需要重新设计线程安全的…...

执行Lua脚本后一直查询不到Redis中的数据(附带问题详细排查过程,一波三折)

文章目录 执行Lua脚本后一直查询不到Redis中的数据&#xff08;附带详细问题排查过程&#xff0c;一波三折&#xff09;问题背景问题1&#xff1a;Lua脚本无法切库问题2&#xff1a;RedisTemlate切库报错问题3&#xff1a;序列化导致数据不一致问题4&#xff1a;Lua脚本中单引号…...

[高光谱]PyTorch使用CNN对高光谱图像进行分类

项目原地址&#xff1a; Hyperspectral-Classificationhttps://github.com/eecn/Hyperspectral-ClassificationDataLoader讲解&#xff1a; [高光谱]使用PyTorch的dataloader加载高光谱数据https://blog.csdn.net/weixin_37878740/article/details/130929358 一、模型加载 在…...

jmeter获取mysql数据

JDBC Connection Configuration Database URL: jdbc:mysql:// 数据库地址 /库名 JDBC Driver class&#xff1a;com.mysql.jdbc.Driver Username&#xff1a;账号 Password&#xff1a;密码 JDBC Request 字段含义 字段含义 Variable Name Bound to Pool 数据库连接池配置…...

Dedecms V110最新版RCE---Tricks

前言 刚发现Dedecms更新了发布版本&#xff0c;顺便测试一下之前的day有没有修复&#xff0c;突然想到了新的tricks去实现RCE。 文章发布的时候估计比较晚了&#xff0c;一直没时间写了。 利用 /uploads/dede/article_string_mix.php /uploads/dede/article_template_rand.…...

CTFshow 限时活动 红包挑战7、红包挑战8

CTFshow红包挑战7 写不出来一点&#xff0c;还是等了官方wp之后才复现。 直接给了源码 <?php highlight_file(__FILE__); error_reporting(2);extract($_GET); ini_set($name,$value);system("ls ".filter($_GET[1])."" );function filter($cmd){$cmd…...

Redis使用Lua脚本和Redisson来保证库存扣减中的原子性和一致性

文章目录 前言1.使用SpringBoot Redis 原生实现方式2.使用redisson方式实现3. 使用RedisLua脚本实现3.1 lua脚本代码逻辑 3.2 与SpringBoot集成 4. Lua脚本方式和Redisson的方式对比5. 源码地址6. Redis从入门到精通系列文章7. 参考文档 前言 背景&#xff1a;最近有社群技术交…...

【从零开始学Kaggle竞赛】泰坦尼克之灾

目录 0.准备1.问题分析挑战流程数据集介绍结果提交 2.代码实现2.1 加载数据2.1.1 加载训练数据2.1.2 加载测试数据 2.2 数据分析2.3 模型建立与预测 3.结果提交 0.准备 注册kaggle账号后&#xff0c;进入titanic竞赛界面 https://www.kaggle.com/competitions/titanic 进入后界…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O…...

绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化

iOS 应用的发布流程一直是开发链路中最“苹果味”的环节&#xff1a;强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说&#xff0c;这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发&#xff08;例如 Flutter、React Na…...