返回顶部
首页 > 资讯 > 后端开发 > Python >Python+NumPy绘制常见曲线的方法详解
  • 612
分享到

Python+NumPy绘制常见曲线的方法详解

2024-04-02 19:04:59 612人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录一、利萨茹曲线二、计算斐波那契数列三、方波四、锯齿波和三角波在NumPy中,所有的标准三角函数如sin、cos、tan等均有对应的通用函数。 一、利萨茹曲线 (Lissajous

在NumPy中,所有的标准三角函数如sin、cos、tan等均有对应的通用函数。

一、利萨茹曲线

(Lissajous curve)利萨茹曲线是一种很有趣的使用三角函数的方式(示波器上显示出利萨茹曲线)。利萨茹曲线由以下参数方程定义:

x = A sin(at + n/2)

y = B sin(bt)

利萨茹曲线的参数包括 A 、 B 、 a 和 b 。为简单起见,我们令 A 和 B 均为1,设置的参数为 a=9 , b=8

import numpy as np
import matplotlib.pyplot as plt

A=B=1
a=9
b=8

t = np.linspace(-np.pi, np.pi, 201)  #使用linspace函数初始化变量t
x = np.sin(a * t + np.pi/2)  # sin 函数和NumPy常量 pi 计算变量 x 
y = np.sin(b * t)  # sin函数计算变量y
plt.plot(x, y)
plt.show()

运行结果:

二、计算斐波那契数列

斐波那契数列的递推关系可以用矩阵来表示。斐波那契数列的计算等价于矩阵的连乘。可用两种方法计算了斐波那契数列

1)黄金比例计算方法,使用 rint 函数对浮点数取整但不改变浮点数类型

1,1,2,3,5,8,13,21,34,55,89,……

#   斐波那契数,用黄金分割公式或通常所说的比奈公式,加上取整函数
n = np.arange(1, 9)
sqrt5 = np.sqrt(5)
phi = (1 + sqrt5)/2 #利用根号5计算黄金比例,或者直接用phi=1+0.618 
print("比例:",phi)
print('\n')
fibonacci = np.rint((phi**n - (-1/phi)**n)/sqrt5)  #用rint()函数对浮点数取整但不改变浮点数类型
print("Fibonacci", fibonacci)

2)利用矩阵进行计算:用 matrix 函数创建矩阵

# 斐波那契数,用矩阵来表示斐波那契数列的递推关系
F = np.matrix([[1, 1], [1, 0]])
print ("8th Fibonacci:", (F ** 10)[0, 0])

运行结果:

比例: 1.618033988749895

Fibonacci [ 1.  1.  2.  3.  5.  8. 13. 21.]
8th Fibonacci: 89

三、方波

方波可以近似表示为多个正弦波的叠加。任意一个方波信号都可以用无穷傅里叶级数来表示。

需要累加很多项级数,且级数越多结果越精确,这里取 k=99(可以分别设置为9,50,1000等进行测试观察生成效果) 以保证足够的精度。绘制方波的步骤如下。

1) 初始化 t 和 k 开始,并将函数值初始化为

m = np.linspace(-np.pi, np.pi, 201) #从 -pi 到 pi 上均匀分布的 201 个点
k = np.arange(1,99)   # k=99 以保证足够的精度,如图中的9 20 99显示的波形
k = 2 * k - 1
f = np.zeros_like(m)

2)使用 sin()求正弦函数,用sum()数计算各项级数:

for i in range(len(m)):  #使用 sin 和 sum 函数进行计算
    f[i] = np.sum(np.sin(k * m[i])/k)
f = (4 / np.pi) * f

3)绘制波形

plt.plot(t, f)
plt.show()

四、锯齿波和三角波

锯齿波和三角波也是常见的波形。和方波类似,也可以将它们表示成无穷傅里叶级数。对锯齿波取绝对值即可得到三角波。锯齿波的无穷级数表达式如下:

import numpy as np
import matplotlib.pyplot as plt

t = np.linspace(-np.pi, np.pi, 201)
k = np.arange(1, 99)
f = np.zeros_like(t)
for i in range(len(t)):
    f[i] = np.sum(np.sin(2 * np.pi * k * t[i])/k)

f = (-2 / np.pi) * f
plt.plot(t, f, lw=1.0)
plt.plot(t, np.abs(f), lw=2.0)
plt.show()

运行结果:

以上就是python+NumPy绘制常见曲线的方法详解的详细内容,更多关于Python NumPy绘制曲线的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python+NumPy绘制常见曲线的方法详解

本文链接: https://lsjlt.com/news/118696.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python+NumPy绘制常见曲线的方法详解
    目录一、利萨茹曲线二、计算斐波那契数列三、方波四、锯齿波和三角波在NumPy中,所有的标准三角函数如sin、cos、tan等均有对应的通用函数。 一、利萨茹曲线 (Lissajous...
    99+
    2024-04-02
  • 怎么使用Python+NumPy绘制常见曲线
    这篇“怎么使用Python+NumPy绘制常见曲线”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用Python+Num...
    99+
    2023-07-02
  • C#绘制实时曲线图的方法详解
    在终端机器上的曲线显示本打算用控件,可控件折腾好长时间也没弄顺,还是自己写的好使,记录下来后面再改进。 //绘图部分的定义 Int32 Draw_To...
    99+
    2024-04-02
  • C#绘制实时曲线的方法
    本文实例为大家分享了C#绘制实时曲线的具体代码,供大家参考,具体内容如下 1.要做一个调试工具,采集传感器数据并显示。绘制曲线注意坐标反转,线条的张力即可。项目中的曲线是从右往左显示...
    99+
    2024-04-02
  • android绘制曲线和折线图的方法
    本文实例为大家分享了android绘制曲线和折线图的具体代码,供大家参考,具体内容如下 (曲线)  (折线) 1.CurveView.java package com....
    99+
    2024-04-02
  • 使用Python绘制三种概率曲线详解
    目录曲线一解释代码实现曲线二解释代码实现曲线三代码实现曲线一 解释 这里是使用matplotlib来绘制正态分布的曲线。 代码实现 import numpy as np import...
    99+
    2024-04-02
  • 详解如何利用Python绘制科赫曲线
    目录1. 递归1.1 定义1.2 数学归纳法2. 递归的使用方法2.1 阶乘2.2 字符串反转3. 科赫曲线的绘制3.1 概要3.2 绘制科赫曲线3.3 科赫曲线的雪花效果3.4 分...
    99+
    2024-04-02
  • Python+pyecharts绘制双动态曲线教程详解
    总体跟官方样例相似,但是官方样例因为部分代码有误无法运行,同时需要了解json,以及前后端知识需要一些时间,因此供大家参考。 这个是views def line_base() -&g...
    99+
    2024-04-02
  • C#动态绘制多条曲线的方法
    本文实例为大家分享了C#动态绘制多条曲线的具体代码,供大家参考,具体内容如下 实时绘制多条曲线,纵轴为数值,横轴为时间,精确到毫秒 实现效果如下: 代码: using System...
    99+
    2024-04-02
  • Python实现绘制多种激活函数曲线详解
    利用numpy、matplotlib、sympy绘制sigmoid、tanh、ReLU、leaky ReLU、softMax函数 起因:深度学习途中,老师留一作业,绘制激活函数及其导...
    99+
    2023-05-16
    Python绘制激活函数曲线 Python 激活函数曲线 Python 曲线
  • Python+matplotlib实现简单曲线的绘制
    目录一、安装matplotlib二、测试 matplotlib三、 绘制简单的折线四、使用 scatter() 绘制散点图并设置其样式1、要绘制单个点2、要绘制系列点3、自...
    99+
    2024-04-02
  • python绘制lost损失曲线加方差范围的操作方法
    1. 导入必要的包 我使用了seaborn,通过sns.set_style可以让绘制出来的图更漂亮,而且可以切换不同的类型 import re import seaborn as...
    99+
    2024-04-02
  • python如何绘制一元二次方程曲线
    这篇文章给大家分享的是有关python如何绘制一元二次方程曲线的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。说明Matplotlib函数可以绘制图形,使用plot函数绘制曲线。需要将200个点的x坐标和Y坐标分别...
    99+
    2023-06-20
  • caffe的python接口绘制loss和accuracy曲线
    目录引言anaconda库python接口实现引言 使用python接口来运行caffe程序,主要的原因是python非常容易可视化。所以不推荐大家在命令行下面运行python程序。...
    99+
    2024-04-02
  • python绘制饼图的方法详解
    用法 matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistan...
    99+
    2024-04-02
  • Android自定义View绘制贝塞尔曲线的方法
    本文实例为大家分享了Android自定义View绘制贝塞尔曲线的具体代码,供大家参考,具体内容如下 在平面内任选 3 个不共线的点,依次用线段连接。 在第一条线段上任选一个点 D。计...
    99+
    2024-04-02
  • 详解Flutter如何绘制曲线,折线图及波浪动效
    目录正弦曲线绘制波浪动效曲线绘制折线图其他说明总结简介 上一篇用 Flutter 的 Canvas 画点有趣的图形我们介绍了使用 CustomPaint 绘制自定义形状,可以看到有了...
    99+
    2024-04-02
  • 解读等值线图的Python绘制方法
    目录等值线图的Python绘制方法python等值线图绘制,计算合适的等值线间距总结等值线图的Python绘制方法 等值线图或等高线图在科学界经常用到,它是由一些封闭的曲线组成的,来...
    99+
    2023-02-01
    等值线图 Python绘制等值线图 Python等值线图
  • python一绘制元二次方程曲线的实例分析
    说明 Matplotlib函数可以绘制图形,使用plot函数绘制曲线。 需要将200个点的x坐标和Y坐标分别以序列的形式输入plot函数,然后调用show函数来显示图形。 实例 import matplotlib...
    99+
    2022-06-02
    python 一元二次方程 曲线
  • Python+matplotlib怎么实现简单曲线的绘制
    这篇文章主要讲解了“Python+matplotlib怎么实现简单曲线的绘制”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python+matplotlib怎么实现简单曲线的绘制”吧!一、安...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作