« Excel VBAで、関数は参照渡し(ByRef)にデフォルトでなっているが、その引数を型キャストして呼び出すと変更されない、ということに気付かなくてバグって半日潰した! | トップページ | CalorieMate TO TECHNOLOGYで思考回路チャレンジ(東京の路線図を回路に見立てた電子楽器を作る)の回路をLTspiceで描いてみる。タイマーIC 555を使ってCdsで音程を変えてるのかな。 »

2021年7月30日 (金)

ax²+bx+c=0の複素解(a,b,c=-25~25)を描くと結構面白い。Pythonで描いてみた。

このTweetを見た。

ax²+bx+c=0というこんな単純な二次方程式で結構面白い形になる。ということでPythonで描いてみた。リンク先のコードを見たらa=1~25なのでそこはならっておいた。刻み幅は1だったが、変えてみた。

import numpy as np
import matplotlib.pyplot as plt
dx = 0.5
xmin = -25
xmax = 25
x1 = []
y1 = []
x2 = []
y2 = []
for a in np.arange(1, xmax, dx):
    for b in np.arange(xmin, xmax, dx):
        for c in np.arange(xmin, xmax, dx):
            det = b*b - 4*a*c
            if det < 0:
            x1.append(-b/(2*a))
            y1.append(np.sqrt(-det)/(2*a))
            x2.append(-b/(2*a))
            y2.append(-np.sqrt(-det)/(2*a))
fig = plt.figure(figsize=(15, 15))
plt.scatter(x1,y1,s=0.1,c='Black')
plt.scatter(x2,y2,s=0.1,c='Black')
plt.scatter(0,0,c='Blue')
plt.scatter(1,0,c='Red')
plt.xlim(-2,2)
plt.ylim(-2,2)
plt.show()

結果はこちら。

21

ちゃんと再現した。

-100~100でもやってみた。

 

22

« Excel VBAで、関数は参照渡し(ByRef)にデフォルトでなっているが、その引数を型キャストして呼び出すと変更されない、ということに気付かなくてバグって半日潰した! | トップページ | CalorieMate TO TECHNOLOGYで思考回路チャレンジ(東京の路線図を回路に見立てた電子楽器を作る)の回路をLTspiceで描いてみる。タイマーIC 555を使ってCdsで音程を変えてるのかな。 »

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« Excel VBAで、関数は参照渡し(ByRef)にデフォルトでなっているが、その引数を型キャストして呼び出すと変更されない、ということに気付かなくてバグって半日潰した! | トップページ | CalorieMate TO TECHNOLOGYで思考回路チャレンジ(東京の路線図を回路に見立てた電子楽器を作る)の回路をLTspiceで描いてみる。タイマーIC 555を使ってCdsで音程を変えてるのかな。 »

最近の記事

2022年1月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
フォト
無料ブログはココログ