學習Python中用numpy與matplotlib遇到的一些數學函數與函數的繪圖

學習Python中的一些數學函數與函數的繪圖

主要用到numpy 與 matplotlib
如果有什么不正確,歡迎指教。

圖片不知道怎樣批量上傳,一個一個怎么感覺很小,請見諒

自行復制拷貝,到vs,jupyter notebook, spyder都可以

函數 y=x?sinxy = x - sinx y=x?sinx

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題x1 = np.linspace(-np.pi, np.pi, 1000)
y1 = x1 - np.sin(x1)plt.plot(x1, y1, c = 'k', label = r"$ y=x-sinx $")plt.grid()
plt.legend()
plt.show()

在這里插入圖片描述

函數 y=3x4?4x3+1y = 3x^4 - 4x^3 + 1 y=3x4?4x3+1

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題x1 = np.linspace(-1, 1.5, 1000)
y1 = 3 * (x1 ** 4) - 4 * (x1 ** 3) + 1
plt.plot(x1, y1, label = r"$ y = 3x^4 - 4x^3 + 1 $")plt.grid()
plt.legend()
plt.show()

在這里插入圖片描述

函數 y=x4y = x^4 y=x4

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題x1 = np.linspace(-5, 5, 1000)
y1 = x1 ** 4plt.plot(x1, y1, label = r"$ y = x^4 $")plt.grid()
plt.legend()
plt.show()

在這里插入圖片描述

函數 y=x3y = \sqrt[3]{x} y=3x?

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題x1 = np.linspace(0, 5, 1000)
y1 = x1 ** (1/3)plt.plot(x1, y1, label = r"$ y = \sqrt[3]{x} $")# plt.xlim([-np.pi, np.pi])
# plt.ylim([-1.5, 1.5])
plt.grid()
plt.legend()
plt.show()

在這里插入圖片描述

函數 y=2x3?9x2+12x?3y=2x^3-9x^2+12x-3 y=2x3?9x2+12x?3

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題x1 = np.linspace(-2, 5, 1000)
y1 =2 * (x1 ** 3) - 9 * (x1 ** 2) + 12 * x1 - 3plt.plot(x1, y1, label = r"$ y=2x^3-9x^2+12x-3 $")plt.grid()
plt.legend()
plt.show()

在這里插入圖片描述

函數 y=2x3?6x2?18x+7y=2x^3-6x^2-18x+7 y=2x3?6x2?18x+7

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題x1 = np.linspace(-3, 5, 1000)
y1 = 2 * (x1 ** 3) - 6 * (x1 ** 2) - 18 * x1 + 7plt.plot(x1, y1, label = r"$ y=2x^3-6x^2-18x+7 $")# plt.axis('equal')
plt.grid()
plt.legend()
plt.show()

在這里插入圖片描述

三次拋物線 y=x3y = x^3 y=x3

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題ax = plt.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))x1 = np.linspace(-5, 5, 1000)
y1 = x1 ** 3plt.plot(x1, y1, label = r"$ y = x^3 $")plt.grid()
plt.legend()
plt.show()

在這里插入圖片描述

半立方拋物線 y2=ax3y^2 = ax^3 y2=ax3

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題a = 0.1
t = np.linspace(-5, 5, 1000)
x = t ** 2
y = a * (t ** 3)
plt.plot(x, y, label = r"y^2 = ax^3|a=0.1")a = 1
y1 = a * (t ** 3)
plt.plot(x, y1, label = r"y^2 = ax^3|a=1")# plt.xlim([-np.pi, np.pi])
# plt.ylim([-1.5, 1.5])
plt.grid()
plt.legend()
plt.show()

在這里插入圖片描述

概率曲線 y=e?x2y=e^{-x^2} y=e?x2

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題t = np.linspace(-2, 2, 1000)
x = t
y = np.e ** -(x ** 2)
plt.plot(x, y, label = r"$ y=e^{-x^2} $")plt.axis('equal')
# plt.grid()
plt.legend()
plt.show()

在這里插入圖片描述

箕舌線 y=8a3x2+4a2y =\frac{8a^3}{x^2+4a^2} y=x2+4a28a3?

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題a = 1
t = np.linspace(-5, 5, 1000)
x = t
y = (8 * a ** 2) / (x ** 2 + 4 * a ** 2)
plt.plot(x, y, label = r"$ y =\frac{8a^3}{x^2+4a^2} |_{a=1} $")a = 2
y1 = (8 * a ** 2) / (x ** 2 + 4 * a ** 2)
plt.plot(x, y1, label = r"$ y =\frac{8a^3}{x^2+4a^2} |_{a=2} $")plt.axis('equal')
# plt.grid()
plt.legend()
plt.show()

在這里插入圖片描述

蔓葉線 y2(2a?x)=x3y^2(2a-x)=x^3 y2(2a?x)=x3x=2asin2θ,y=2a2tan2θsin4θx=2asin^2\theta, y=2a^2tan^2\theta sin^4\theta x=2asin2θ,y=2a2tan2θsin4θ

修改:之前x的取值是?3.6≤x≤3.6-3.6\leq x \leq3.6?3.6x3.6, 實際上x的值是 ≥0\geq 00

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題a = 2
#這是原來的取值范圍
#t = np.linspace(-3.6, 3.6, 1000)
#x = np.abs(t)
#這是現在的取值范圍
t = np.linspace(0, 3.6, 1000)
x = t
#還有我用power替代了sqrt開根號
y = np.power((x ** 3) / (2 * a - x), 1/2)
plt.plot(x, y, 'b', x, -y, 'b', label = r"$ y^2(2a-x)=x^3 $")plt.grid()
plt.legend()
plt.show()

在這里插入圖片描述

ρ=2a?tan2θ\rho=2a-tan^2\theta ρ=2a?tan2θ

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題#極坐標
plt.subplot(111, polar = True)
plt.ylim([0, 6])a = 1
theta = np.arange(0, 2 * np.pi, np.pi / 100)
rho = 2 * a - np.tan(theta) ** 2
plt.plot(theta, rho, label = r'$\rho=2a-tan^2\theta \quad |a=1$')a = 1.5
r2 = a * rho
plt.plot(theta, r2, label = r'$\rho=2a-tan^2\theta \quad |a=1.5$')a = 2.5
r2 = a * rho
plt.plot(theta, r2, label = r'$\rho=2a-tan^2\theta \quad |a=2.5$')plt.legend()
plt.show()

在這里插入圖片描述

笛卡兒葉形線畫圖 極坐標 r=3asinθcosθsin3θ+cos3θr = \frac{3asin\theta cos\theta}{sin^3\theta + cos^3\theta} r=sin3θ+cos3θ3asinθcosθ?

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題#極坐標
plt.subplot(111, polar = True)
plt.ylim([0, 6])a = 1
theta = np.arange(0, 2 * np.pi, np.pi / 100)
r = 3 * a * np.sin(theta) * np.cos(theta) / (np.sin(theta) ** 3 + np.cos(theta) ** 3)
plt.plot(theta, r, label = r'$ r = \frac{3asin\theta cos\theta}{sin^3\theta + cos^3\theta} $')a = 1.5
r2 = a * r
plt.plot(theta, r2)a = 2.5
r2 = a * r
plt.plot(theta, r2)# plt.grid()
plt.legend()
plt.show()

在這里插入圖片描述

笛卡兒葉形線 直角坐標 x3+y3?3axy=0x^3+y^3-3axy=0 x3+y3?3axy=0x=3at1+t3,y=3at21+t3x=\frac{3at}{1+t^3}, y=\frac{3at^2}{1+t^3} x=1+t33at?,y=1+t33at2?

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題#極坐標
# plt.subplot(111, polar = True)
# plt.ylim([0, 6])a = 1
# t = np.arange(-0.1, 4 * np.pi, np.pi / 180)
t = np.linspace(-0.5, 200, 5000)
x = (3 * a * t) / (1 + t ** 3)
y = (3 * a * t ** 2) / (1 + t ** 3)
plt.plot(x, y, label = r'$ x=\frac{3at}{1+t^3}, y=\frac{3at^2}{1+t^3} $')a = 1.5
x1 = (3 * a * t) / (1 + t ** 3)
y1 = (3 * a * t ** 2) / (1 + t ** 3)
plt.plot(x1, y1, label = r'$ x=\frac{3at}{1+t^3}, y=\frac{3at^2}{1+t^3} $')# plt.grid()
plt.legend()
plt.show()

在這里插入圖片描述

星形線(內擺線的一種) x23+y23=a23x^\frac{2}{3}+y^\frac{2}{3}=a^\frac{2}{3} x32?+y32?=a32?{x=acos3θy=asin3θ\begin{cases} x=acos^3\theta \\ y=asin^3\theta \end{cases} {x=acos3θy=asin3θ?

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題a = 1
theta = np.arange(0, 2 * np.pi, np.pi / 180)
x = a * np.cos(theta) ** 3
y = a * np.sin(theta) ** 3
plt.plot(x, y, label = r'$ x=acos^3\theta, y=asin^3\theta \quad|a=1$')a = 2
x1 = a * x
y1 = a * y
plt.plot(x1, y1, label = r'$ x=acos^3\theta, y=asin^3\theta \quad|a=2$')a = 3
x2 = a * x
y2 = a * y
plt.plot(x2, y2, label = r'$ x=acos^3\theta, y=asin^3\theta \quad|a=3$')ax = plt.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.axis('equal')
plt.legend()
plt.show()

在這里插入圖片描述

擺線 {x=a(θ?sinθ)y=a(1?cosθ)\begin{cases} x=a(\theta-sin\theta) \\ y=a(1-cos\theta) \end{cases} {x=a(θ?sinθ)y=a(1?cosθ)?

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題#極坐標
# plt.subplot(111, polar = True)
# plt.ylim([0, 6])a = 1
theta = np.arange(0, 4 * np.pi, np.pi / 180)
x = a * (theta - np.sin(theta))
y = a * (1 - np.cos(theta))
plt.plot(x, y, label = r'$ x=a(\theta-sin\theta),\quad y=a(1-cos\theta) \quad|a=1$')a = 2
x1 = a * x
y1 = a * y
plt.plot(x1, y1, label = r'$ x=a(\theta-sin\theta),\quad y=a(1-cos\theta) \quad|a=2$')a = 3
x2 = a * x
y2 = a * y
plt.plot(x2, y2, label = r'$ x=a(\theta-sin\theta),\quad y=a(1-cos\theta) \quad|a=3$')ax = plt.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.axis('equal')
plt.legend()
plt.show()

在這里插入圖片描述

心形線(外擺線的一種) KaTeX parse error: Can't use function '$' in math mode at position 27: …a\sqrt{x^2+y^2}$? 或 $ \rho=a(1-c…

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題#極坐標
plt.subplot(111, polar = True)
# plt.ylim([0, 6])a = 1
theta = np.arange(0, 2 * np.pi, np.pi / 180)
y = a * (1 - np.cos(theta))
plt.plot(theta, y, label = r'$ \rho=a(1-cos\theta) $')y1 = a * (1 - np.sin(theta))
plt.plot(theta, y1, label = r'$ \rho=a(1-sin\theta) $')# a = 2
# x1 = a * x
# y1 = a * y
# plt.plot(x1, y1, label = r'$ x=a(\theta-sin\theta),\quad y=a(1-cos\theta) \quad|a=2$')# a = 3
# x2 = a * x
# y2 = a * y
# plt.plot(x2, y2, label = r'$ x=a(\theta-sin\theta),\quad y=a(1-cos\theta) \quad|a=3$')# ax = plt.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.axis('equal')
plt.legend()
plt.show()

在這里插入圖片描述

x=sinθ,y=cosθ+x23x=sin\theta,\quad y=cos\theta+\sqrt[3]{x^2}x=sinθ,y=cosθ+3x2?

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題a = 1
theta = np.arange(0, 2 * np.pi, np.pi / 180)
x = np.sin(theta)
y = np.cos(theta) + np.power((x ** 2), 1 / 3)  #原來用 y = np.cos(theta) + np.power(x, 2/3)只畫出一半,而且報power的錯
plt.plot(x, y, label = r'$x=sin\theta,\quady=cos\theta+\sqrt[3]{x^2}$')# ax = plt.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.axis('equal') #等比例會好看點
plt.legend()
plt.show()

在這里插入圖片描述

阿基米德螺線 ρ=aθ\rho=a\thetaρ=aθ

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題#極坐標
plt.subplot(111, polar = True)
# plt.ylim([0, 6])a = 1
theta = np.arange(0, 4 * np.pi, np.pi / 180)
rho = a * theta
plt.plot(theta, rho, label = r'$\rho=a\theta$', linestyle = 'solid')# rho1 = - a * theta
# plt.plot(theta, rho1, label = r'$\rho=a\theta$')plt.legend()
plt.show()

在這里插入圖片描述

對數螺線 ρ=eaθ\rho=e^{a\theta} ρ=eaθ

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題#極坐標
plt.subplot(111, polar = True)
plt.ylim([0, 10])a = 0.1
theta = np.arange(0, 6 * np.pi, np.pi / 180)
rho = np.e ** (a * theta)
plt.plot(theta, rho, label = r'$ \rho=e^{a\theta} $', linestyle = 'solid')a = 0.2
rho1 = np.e ** (a * theta)
plt.plot(theta, rho1, label = r'$ \rho=e^{a\theta} $', linestyle = 'solid')plt.legend()
plt.show()

在這里插入圖片描述

雙曲螺旋線 ρθ=a\rho\theta=a ρθ=a

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題#極坐標
plt.subplot(111, polar = True)
plt.ylim([0, 30])a = 30
theta = np.arange(0.01, 6 * np.pi, np.pi / 180)
rho = a / theta
plt.plot(theta, rho, label = r'$ \rho\theta=a \quad |a=30 $', linestyle = 'solid')a = 50
rho1 = a / theta
plt.plot(theta, rho1, label = r'$ \rho\theta=a \quad |a=50 $', linestyle = 'solid')plt.legend()
plt.show()

在這里插入圖片描述

伯努利雙紐線 (x2+y2)2=2a2xy(x^2+y^2)^2=2a^2xy(x2+y2)2=2a2xy(x2+y2)2=a2(x2?y2)(x^2+y^2)^2=a^2(x^2-y^2)(x2+y2)2=a2(x2?y2)ρ2=a2sin2θ\rho^2=a^2sin2\theta ρ2=a2sin2θρ2=a2cos2θ\rho^2=a^2cos2\thetaρ2=a2cos2θ

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題#極坐標
# plt.subplot(111, polar = True)
# plt.ylim([0, 30])a = 1
theta = np.linspace(-np.pi, np.pi, 200)
x = a * np.sqrt(2) * np.cos(theta) / (np.sin(theta) ** 2 + 1)
y = a * np.sqrt(2) * np.cos(theta) * np.sin(theta) / (np.sin(theta) ** 2 + 1)
plt.plot(x, y, label = r'$ \rho^2=a^2cos2\theta \quad |a=1 $', linestyle = 'solid')plt.axis('equal')
plt.legend()
plt.show()

在這里插入圖片描述

三葉玫瑰線 ρ=acos3θ\rho=acos3\thetaρ=acos3θρ=asin3θ\rho=asin3\theta ρ=asin3θ

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
# plt.rcParams['figure.figsize'] = (8, 4.5)
# plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題#極坐標
plt.subplot(111, polar = True)
# plt.ylim([0, 30])a = 1
theta = np.linspace(0, 2 * np.pi, 200)
rho = a * np.cos(3 * theta)
plt.plot(theta, rho, label = r'$ \rho=acos3\theta \quad |a=1 $', linestyle = 'solid')# a = 2
# rho1 = a * rho
# plt.plot(theta, rho1, label = r'$ \rho=acos3\theta \quad |a=2 $', linestyle = 'solid')a = 1
rho2 = a * np.sin(3 * theta)
plt.plot(theta, rho2, label = r'$ \rho=asin3\theta \quad |a=1 $', linestyle = 'solid')plt.legend()
plt.show()

在這里插入圖片描述

四葉玫瑰線 ρ=acos2θ\rho=acos2\theta ρ=acos2θρ=asin2θ\rho=asin2\theta ρ=asin2θ

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
# plt.rcParams['figure.figsize'] = (8, 4.5)
# plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題#極坐標
plt.subplot(111, polar = True)
# plt.ylim([0, 30])a = 1
theta = np.linspace(0, 2 * np.pi, 200)
rho = a * np.cos(4 * theta)
plt.plot(theta, rho, label = r'$ \rho=acos2\theta \quad |a=1 $', linestyle = 'solid')a = 2
rho1 = a * rho
plt.plot(theta, rho1, label = r'$ \rho=acos2\theta \quad |a=2 $', linestyle = 'solid')# a = 1
# rho2 = a * np.sin(4 * theta)
# plt.plot(theta, rho2, label = r'$ \rho=asin2\theta \quad |a=1 $', linestyle = 'solid')plt.legend()
plt.show()

在這里插入圖片描述

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
# plt.rcParams['figure.figsize'] = (8, 4.5)
# plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題#極坐標
plt.subplot(111, polar = True)
# plt.ylim([0, 30])theta = np.linspace(0, 2 * np.pi, 200)a = 1
rho = a * np.sin(4 * theta)
plt.plot(theta, rho, label = r'$ \rho=asin2\theta \quad |a=1 $', linestyle = 'solid')a = 2
rho1 = a * np.sin(4 * theta)
plt.plot(theta, rho1, label = r'$ \rho=asin2\theta \quad |a=2 $', linestyle = '--')plt.legend()
plt.show()

在這里插入圖片描述

多葉玫瑰線 ρ=acosnθ\rho=acosn\theta ρ=acosnθρ=asinnθ,∣n=1,2,3...\rho=asinn\theta,\quad|n=1,2,3...ρ=asinnθ,n=1,2,3...

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
# plt.rcParams['figure.figsize'] = (8, 4.5)
# plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題#極坐標
plt.subplot(111, polar = True)
# plt.ylim([0, 30])theta = np.linspace(0, 2 * np.pi, 200)a = 1
n = 20
rho = a * np.sin(10 * theta)
plt.plot(theta, rho, label = r'$ \rho=asinn\theta \quad |a=1,n=10 $', linestyle = 'solid')plt.legend()
plt.show()

在這里插入圖片描述

函數 四葉線 x=aρsinθ,y=aρcosθ,ρ=2sinsin2θx=a\rho sin\theta,y=a\rho cos\theta, \rho = \sqrt{2}sin{sin2\theta}x=aρsinθ,y=aρcosθ,ρ=2?sinsin2θ

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題#極坐標
# plt.subplot(111, polar = True)
# plt.ylim([0, 30])a = 1
theta = np.linspace(-np.pi, np.pi, 200)
rho = np.sqrt(2) * np.sin(np.sin(2*theta))
x = a * rho * np.sin(theta)
y = a * rho * np.cos(theta)
plt.plot(x, y, label = r'$x=a\rho sin\theta,y=a\rho cos\theta, \rho = \sqrt{2}sin{sin2\theta}$', linestyle = 'solid')plt.axis('equal')
plt.legend()
plt.show()

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-vELrwNwd-1589013522141)(output_52_0.svg)]在這里插入圖片描述

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
plt.rcParams['figure.figsize'] = (8, 4.5)
plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題#極坐標
# plt.subplot(111, polar = True)
# plt.ylim([0, 30])a = 1
theta = np.linspace(-np.pi, np.pi, 200)
rho = np.sqrt(2) * np.sin(np.sin(4*theta))
x = a * rho * np.sin(theta)
y = a * rho * np.cos(theta)
plt.plot(x, y, label = r'$x=a\rho sin\theta,y=a\rho cos\theta, \rho = \sqrt{2}sin{sin2\theta}$', linestyle = 'solid')plt.axis('equal')
plt.legend()
plt.show()

在這里插入圖片描述

函數 四葉線 x=aρsinθ,y=aρcosθ,ρ=2sin∣sin2θ∣x=a\rho sin\theta,y=a\rho cos\theta, \rho = \sqrt{2}sin{\vert sin2\theta \vert}x=aρsinθ,y=aρcosθ,ρ=2?sinsin2θ

%matplotlib inline
%config InlineBackend.figure_format = "svg"
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
# plt.rcParams['figure.figsize'] = (8, 4.5)
# plt.rcParams['figure.dpi'] = 150
plt.rcParams['font.sans-serif'] = ['Simhei']  #替代字體
plt.rcParams['axes.unicode_minus'] = False  #解決坐標軸負數的鉛顯示問題#極坐標
# plt.subplot(111, polar = True)
# plt.ylim([0, 30])a = 1
theta = np.linspace(-np.pi, np.pi, 1000)
rho = np.sqrt(2) * np.sqrt(abs(np.sin(10*theta)) + 0.5)
x = a * rho * np.sin(theta)
y = a * rho * np.cos(theta)
plt.plot(x, y,  linestyle = 'solid')# label = r'$x=a\rho sin\theta,y=a\rho cos\theta, \rho = \sqrt{2}sin{sin2\theta}$',plt.axis('equal')
# plt.legend()
plt.show()

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260906.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260906.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260906.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

控制臺輸出

getchar() system("pause") getch()//<conio.h>轉載于:https://www.cnblogs.com/lzihua/archive/2012/03/29/2422988.html

Linux基礎之文件權限詳解

Linux中對于權限的制定雖然沒有Windows的那么精細&#xff0c;但是如果你了解并掌握Linux中文件的權限知識&#xff0c;也可以像Windows那樣對權限做到精確配置。Linux中的文件權限是什么&#xff1f;如何查看Linux中的文件權限[rootlocalhost test]# ll -d /test/drwxr-xr-x. …

有這個OCR程序,不用再買VIP了,Python 調用百度OCR API

最近學習&#xff0c;很多東西都是視頻&#xff0c;截圖后&#xff0c;又想做成文檔保存起來。 剛開始不多&#xff0c;打一下字就很快解決了。 隨著時間的推移&#xff0c;現在越來越多的圖了&#xff0c;管理起來確實不方便&#xff0c;打字有時也不能很快的解決。 所以就…

android apk如何入門

android自己摸索了6,7個月不知道算不算入門&#xff01;對了只是應用層apk! 說說我的情況&#xff01;有C語言基礎&#xff0c;沒有接觸過JAVA語言。 1.先找視頻教程看&#xff0c;mars老師的&#xff01;不要理會java語言&#xff01;4季一氣看完&#xff01; 看了這個視頻教程…

linux常用命令_Linux常用命令全稱

從事IT行業的很多人都會使用Linux常用命令&#xff0c;但是知道這些常用命令全稱的人并不多&#xff0c;讓我們來看看這些常用命令對應的全稱吧&#xff01;必備Linux命令和C語言基礎_C語言_嵌入式開發工程師-創客學院?www.makeru.com.cnpwd:print work directory 打印當前目錄…

存儲程序(1)——MYSQL

MySQL支持把幾種對象存放在服務器端供以后使用。這幾種對象有一些可以根據情況通過程序代碼調用&#xff0c;有一些會在數據表被修改時自動執行&#xff0c;還有一些可以在預定時刻自動執行。它們包括以下幾種: 1.存儲函數(stored function)。返回一個計算結果&#xff0c;該結…

闖過這 54 關,點亮你的 Git 技能樹 (五) - 完結篇

這是一個系列文章&#xff0c;介紹學習 Git 的一個小游戲 - githug&#xff0c;如果你是第一次看到&#xff0c;請先閱讀&#xff1a;闖過這 54 關&#xff0c;點亮你的 Git 技能樹闖過這 54 關&#xff0c;點亮你的 Git 技能樹&#xff08;一&#xff09;闖過這 54 關&#xf…

Jupyter notebook 不安裝主題,通過修改css更改 默認字體,字體大小等

目標&#xff1a; Jupyter notebook 又不想改更主題的的情況下&#xff0c;可以通過修改css的目的來達到修改默認的字體&#xff0c;字號心達到可以好的閱讀效果。 方法 要修改的css文件目錄如下&#xff0c; D:\Anaconda\Lib\site-packages\notebook\static\custom 這個就是…

項亮 陳義 王益《推薦系統實踐》

最近很多讀者關注《推薦系統實踐》一書&#xff0c;詢問本書目前的寫作進展和出版時間。自今日起&#xff0c;本書正式進入開放出版流程&#xff0c;作者會全程在本社區中互動&#xff0c;與大家分享寫做過程中的點滴。 技術背景 推薦系統從1994年開始&#xff0c;經過Amazon&a…

堅果nuts 加速 官網_【喂你播】堅果手機2020新品發布會來了;三星定向華為手機推以舊換新...

周五喂diu 不只有你們愛的女主播 還有小編呢BGM&#xff1a;Make You Hustle-Croatia Squad堅果手機2020新品發布會來了堅果手機正式宣布&#xff1a;堅果手機2020新品發布會將于10月20日19:30在五棵松M空間舉行。根據此前爆料&#xff0c;堅果手機新品或命名為堅果Pro4&#x…

不可不知的Oracle常用技巧

不可不知的Oracle常用技巧 表復制 1.方法一&#xff1a;復制表結構和數據 create table temp_clientloginuser as select distinct userid from tbuserloginlog; 2.方法二&#xff1a;僅復制數據 -- 如果表結構一樣 insert into mytable select * from yourtable; -- 如果表結構…

圖像處理核函數:之高斯核的生成方法 python

圖像處理核函數&#xff1a;之高斯核函數的生成方法 python高斯核函數&#xff08;低通高斯濾波器核&#xff09;高斯分布函數高斯核生成函數代碼效果高斯核函數的圖像高斯核函數&#xff08;低通高斯濾波器核&#xff09; 最近在看DIP&#xff08;Digital Image Processing)&…

WEB-INFO/lib build path 的jar包問題

為什么80%的碼農都做不了架構師&#xff1f;>>> 一、build path&WEB-INFO/lib介紹 build path&#xff1a;可以說是引用&#xff1b; WEB-INFO/lib&#xff1a;可以說是固定在一個地方&#xff1b; eclipse編譯項目的時候是根據build path的&#xff0c;如果…

Windows phone 7之頁面布局

Windows phone的頁面布局方式一般是依賴布局控件實現的&#xff0c;而布局控件有三種Grid&#xff0c;StackPanel和Canvas Grid是網格布局方式&#xff0c;相當于一個表格&#xff0c;有行和列&#xff0c;新建一個Windows phone項目&#xff0c;打開MainPage.xaml&#xff0c;…

蘋果電腦刪除軟件_軟件自動開啟很煩人?如何徹底關掉開機自動開啟的應用程序...

使用Mac的小伙伴有沒有這樣的煩惱&#xff0c;電腦一開機&#xff0c;一堆煩人的軟件就自動開啟了&#xff0c;讓人很懊惱&#xff0c;如何才能徹底關掉開機自動開啟的應用程序&#xff1f;mac開機啟動項怎么設置&#xff1f;開機啟動項要怎么禁止&#xff1f;今天就帶大家解決…

UVALive2678子序列

UVALive2678 http://122.207.68.93:9090/csuacmtrain/problem/viewProblem.action?id453 【題目描述】&#xff1a;n個正整數組成的序列。給定整數S&#xff0c;求長度最短的連續序列&#xff0c;使他們的和大于等于S。 【算法分析】&#xff1a; 【二分】&#xff1a; 全是…

Jupyter notebook 使用過程中的一些小技巧總結

Jupyter notebook 小技巧 這是自己使用Jupyter notebook 的過程&#xff0c;遇到的一些問題&#xff0c;還有一些使用的小技巧&#xff0c;希望可以幫且大家。會不定時更新 code 轉 markdown&#xff1a; 按鍵 M code 轉 markdown&#xff1a; 按鍵 Y 換行&#xff1a;打完一…

IOS 文件讀取4種方法 轉字符串 和data

//第一種方法&#xff1a; NSFileManager實例方法讀取數據NSArray* paths NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, NSUserDomainMask, YES);NSString* thepath [paths lastObject];thepath [thepath stringByAppendingPathComponent:"fd_list.txt&qu…

csgo怎么控制電腦玩家_電腦遠程控制怎么弄

本教程以“Win 10”系統為例進行演示。方法一&#xff1a;1/6在“此電腦”單擊鼠標右鍵選擇“屬性”2/6在彈出窗口中點擊“遠程設置”3/6勾選“允許遠程協助連接這臺計算機”&#xff0c;然后點擊應用并確定4/6在微軟小娜搜索“mstsc”5/6打開“遠程桌面連接”6/6輸入對方的IP地…

HTML 5 的自定義 data-* 屬性和jquery的data()方法的使用

HTML 5 的自定義 data-* 屬性和jquery的data()方法的使用 人們總喜歡往HTML標簽上添加自定義屬性來存儲和操作數據。但這樣做的問題是&#xff0c;你不知道將來會不會有其它腳本把你的自定義屬性給重置掉&#xff0c;此外&#xff0c;你這樣做也會導致html語法上不符合Html規范…