欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用Python?NumPy庫及Matplotlib庫繪制數(shù)學(xué)函數(shù)圖像

 更新時間:2022年04月14日 14:42:34   作者:manchan4869  
最近開始學(xué)習(xí)數(shù)學(xué)了,有一些題目的函數(shù)圖像非常有特點,下面這篇文章主要給大家介紹了關(guān)于利用Python?NumPy庫及Matplotlib庫繪制數(shù)學(xué)函數(shù)圖像的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下

前言

最近開始學(xué)習(xí)數(shù)學(xué)了,有一些題目的函數(shù)圖像非常有特點,有一些函數(shù)圖像手繪比較麻煩,那么有沒有什么辦法做出又標(biāo)準(zhǔn)又好看的數(shù)學(xué)函數(shù)圖像呢?

答案是有很多的,有很多不錯的軟件都能畫出函數(shù)圖像,但是,我想到了Python的數(shù)據(jù)可視化。Python在近些年非?;馃?,在數(shù)據(jù)分析以及深度學(xué)習(xí)等方面得到廣泛地運用,其豐富的庫使其功能愈加強大。

這里我們使用Python的NumPy庫以及Matplotlib庫進行繪圖。

NumPy與Matplotlib

NumPy(Numerical Python) 是 Python 語言的一個擴展程序庫,支持大量的維度數(shù)組與矩陣運算,此外也針對數(shù)組運算提供大量的數(shù)學(xué)函數(shù)庫。

Matplotlib 是 Python 的繪圖庫。 它可與 NumPy 一起使用,提供了一種有效的 MatLab 開源替代方案。

函數(shù)繪圖

所需庫函數(shù)語法

import 語句

想使用 Python 源文件,只需在另一個源文件里執(zhí)行 import 語句,語法如下:

import module1[, module2[,... moduleN]

from … import 語句

Python 的 from 語句讓你從模塊中導(dǎo)入一個指定的部分到當(dāng)前命名空間中,語法如下:

from modname import name1[, name2[, ... nameN]]

numpy.arange

numpy 包中的使用 arange 函數(shù)創(chuàng)建數(shù)值范圍并返回 ndarray 對象,函數(shù)格式如下:

numpy.arange(start, stop, step, dtype)

根據(jù) start 與 stop 指定的范圍以及 step 設(shè)定的步長,生成一個 ndarray。

參數(shù)說明:

參數(shù)描述
start起始值,默認(rèn)為0
stop終止值(不包含)
step步長,默認(rèn)為1
dtype返回ndarray的數(shù)據(jù)類型,如果沒有提供,則會使用輸入數(shù)據(jù)的類型。

numpy.linspace

numpy.linspace 函數(shù)用于創(chuàng)建一個一維數(shù)組,數(shù)組是一個等差數(shù)列構(gòu)成的,格式如下:

np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

參數(shù)說明:

參數(shù)描述
start序列的起始值
stop序列的終止值,如果endpoint為true,該值包含于數(shù)列中
num要生成的等步長的樣本數(shù)量,默認(rèn)為50
endpoint該值為 true 時,數(shù)列中包含stop值,反之不包含,默認(rèn)是True。
retstep如果為 True 時,生成的數(shù)組中會顯示間距,反之不顯示。
dtypendarray 的數(shù)據(jù)類型

導(dǎo)入所需模塊

import numpy as np
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] #用來正常顯示中文標(biāo)簽
plt.rcParams['axes.unicode_minus'] = False #用來正常顯示負(fù)號

一元一次函數(shù)

# 一元一次函數(shù)圖像
x = np.arange(-10, 10, 0.1)#生成等差數(shù)組
y = 2 * x
plt.xlabel('x')
plt.ylabel('y')
plt.title("一元一次函數(shù)")
plt.plot(x, y)
plt.show()

一元二次函數(shù)

# 一元二次函數(shù)圖像
x = np.arange(-10, 10, 0.1)
y = x * x
plt.xlabel('x')
plt.ylabel('y')
plt.title("一元二次函數(shù)")
plt.plot(x, y)
plt.show()

指數(shù)函數(shù)

# 指數(shù)函數(shù)
x = np.arange(-10, 10, 0.1)
y = np.power(2, x)
plt.xlabel('x')
plt.ylabel('y')
plt.title("指數(shù)函數(shù)")
plt.plot(x, y)
plt.show()

正弦函數(shù)

x = np.arange(-3 * np.pi, 3 * np.pi, 0.1)
y = np.sin(x)
plt.xlabel('x')
plt.ylabel('y')
plt.title("正弦函數(shù)")
plt.plot(x, y)
plt.show()

余弦函數(shù)

x = np.arange(-3 * np.pi, 3 * np.pi, 0.1)
y = np.cos(x)
plt.xlabel('x')
plt.ylabel('y')
plt.title("余弦函數(shù)")
plt.plot(x, y)
plt.show()

高級玩法

from pylab import *
import numpy
figure(figsize=(12,8), dpi=72)

# 創(chuàng)建一個新的 1 * 1 的子圖,接下來的圖樣繪制在其中的第 1 塊(也是唯一的一塊)
subplot(1,1,1)

X = np.linspace(-np.pi*2, np.pi*2, 2048,endpoint=True)
C,S = np.cos(X), np.sin(X)

# 繪制余弦曲線,使用藍色的、連續(xù)的、寬度為 1 (像素)的線條
plot(X, C,linewidth=1.5, linestyle="-",label="正弦")

# 繪制正弦曲線,使用綠色的、連續(xù)的、寬度為 1 (像素)的線條
plot(X, S,linewidth=1.5, linestyle="-",label="余弦")
legend(loc='upper left')
# 設(shè)置橫軸的上下限
xlim(-4.5,4.5)

# 設(shè)置橫軸記號
xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],
       [r'$-\pi$', r'$-\pi/2$', r'$0$', r'$+\pi/2$', r'$+\pi$'])

yticks([-1, 0, +1],
       [r'$-1$', r'$0$', r'$+1$'])

# 設(shè)置縱軸的上下限
ylim(-1.5,1.5)

# 設(shè)置縱軸記號
yticks(np.linspace(-1,1,5,endpoint=True))
ax = gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

# savefig("sincosin.png",dpi=72) #以72dpi保存圖像

# 在屏幕上顯示
show()

fig = plt.figure(figsize=(12,8), dpi=72)
x = np.arange(-10, 10, 0.01)
arsinh = np.log(x+np.sqrt(x**2+1))
sinh=0.5*(e**x-e**(-x))
cosh=0.5*(e**x+e**(-x))

plt.plot(x, sinh,label="雙曲正弦")
plt.plot(x, arsinh,label="反雙曲正弦")
plt.plot(x, cosh,label="雙曲余弦")

plt.legend(loc='upper left')

ylim(-10,10)

ax = gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

plt.show()

總結(jié) 

到此這篇關(guān)于利用Python NumPy庫及Matplotlib庫繪制數(shù)學(xué)函數(shù)圖像的文章就介紹到這了,更多相關(guān)Python繪制數(shù)學(xué)函數(shù)圖像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 字典中取值的兩種方法小結(jié)

    python 字典中取值的兩種方法小結(jié)

    今天小編就為大家分享一篇python 字典中取值的兩種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • python執(zhí)行系統(tǒng)命令4種方法與比較

    python執(zhí)行系統(tǒng)命令4種方法與比較

    這篇文章主要介紹了python執(zhí)行系統(tǒng)命令4種方法與比較,需要的朋友可以參考下
    2021-04-04
  • 通過實例簡單了解python yield使用方法

    通過實例簡單了解python yield使用方法

    這篇文章主要介紹了通過實例簡單了解python yield使用方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • python 如何比較兩集合的大小關(guān)系

    python 如何比較兩集合的大小關(guān)系

    這篇文章主要介紹了python 比較兩集合的大小關(guān)系操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python使用JSON模塊進行數(shù)據(jù)處理(編碼解碼)

    python使用JSON模塊進行數(shù)據(jù)處理(編碼解碼)

    這篇文章主要為大家介紹了python使用JSON模塊進行數(shù)據(jù)處理編碼解碼的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • python+django+selenium搭建簡易自動化測試

    python+django+selenium搭建簡易自動化測試

    這篇文章主要介紹了python+django+selenium搭建簡易自動化測試,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 使用matplotlib畫圖之坐標(biāo)軸不等距

    使用matplotlib畫圖之坐標(biāo)軸不等距

    這篇文章主要介紹了使用matplotlib畫圖之坐標(biāo)軸不等距方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python之消除前綴重命名的方法

    python之消除前綴重命名的方法

    今天小編就為大家分享一篇python之消除前綴重命名的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python實現(xiàn)的十進制小數(shù)與二進制小數(shù)相互轉(zhuǎn)換功能

    Python實現(xiàn)的十進制小數(shù)與二進制小數(shù)相互轉(zhuǎn)換功能

    這篇文章主要介紹了Python實現(xiàn)的十進制小數(shù)與二進制小數(shù)相互轉(zhuǎn)換功能,結(jié)合具體實例形式詳細分析了二進制與十進制相互轉(zhuǎn)換的原理及Python相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2017-10-10
  • Python實現(xiàn)學(xué)生成績管理系統(tǒng)

    Python實現(xiàn)學(xué)生成績管理系統(tǒng)

    這篇文章主要為大家詳細介紹了Python實現(xiàn)學(xué)生成績管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評論