ホームページ  >  記事  >  バックエンド開発  >  Pythonの区分関数を書くにはどうすればよいですか?

Pythonの区分関数を書くにはどうすればよいですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-06-19 13:14:4924912ブラウズ

Pythonの区分関数を書くにはどうすればよいですか?

Python 区分関数を作成するにはどうすればよいですか?

Python で区分関数を記述する方法:

1. 区分関数を描画します: y=4sin(4πt)-sgn(t-0.3)- sgn (0.72-t)

コード:

#!/usr/bin/python
# -*- coding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
#绘制分段函数:y=4sin(4πt)-sgn(t-0.3)-sgn(0.72-t)
def sgn(x):
    if x > 0:
        return 1
    elif x < 0:
        return -1
    else:
        return 0
t = np.arange(0, 1, 0.01)
y = []
for i in t:
    y_1 = 4 * np.sin(4 * np.pi * i) - sgn(i - 0.3) - sgn(0.72 - i)
    y.append(y_1)
plt.plot(t, y)
plt.xlabel("t")
plt.ylabel("y")
plt.title("Heavsine")
plt.show()

Pythonの区分関数を書くにはどうすればよいですか?

Pythonの区分関数を書くにはどうすればよいですか?

2. Matplotlib を使用して区分関数を描画します:

コード:

#!/usr/bin/python
# -*- coding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
def sgn(value):
    if value < 4:
        return 20
    else:
        return 15
plt.figure(figsize=(6, 4))
x = np.linspace(0, 8, 100)
y = np.array([])
for v in x:
    y = np.append(y, np.linspace(sgn(v), sgn(v), 1))
l = plt.plot(x, y, &#39;b&#39;, label=&#39;type&#39;)
plt.legend()
plt.show()

Pythonの区分関数を書くにはどうすればよいですか?

Pythonの区分関数を書くにはどうすればよいですか?

3. 三角波形を描画します:

#!/usr/bin/python
# -*- coding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
def triangle_wave(x, c, c0, hc):
   x = x - int(x)  #三角波周期为1 因此只取小数部分进行计算
   if x < c0:
       return x / c0 * hc
   elif x >= c:
       return 0.0
   else:
       return (c-x)/(c-c0)*hc
x = np.linspace(0, 2, 1000)
y = np.array([triangle_wave(t, 0.6, 0.4, 1.0) for t in x])
plt.figure()
plt.plot(x, y)
plt.ylim(-0.2, 1.2)   #限制y的范围
plt.show()

Pythonの区分関数を書くにはどうすればよいですか?

Pythonの区分関数を書くにはどうすればよいですか?

推奨チュートリアル: 「Python ビデオ チュートリアル

以上がPythonの区分関数を書くにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。