« 松屋で極上グラナパダーノ チーズトマト厚切りロースかつ定食(コロッケ付き、豚汁変更のフルセット)でいただく。チーズが粉になって風味がよくなった。 | トップページ | Python+Sympy(数式処理)でZパラメータ(インピーダンス行列)からSパラメータに変換する。その1、成分で書く場合 »

2021年5月20日 (木)

一般化ナベアツ数Nab_n(x) (xまでのうちnの倍数とnがつく数のときだけアホになる)のナベアツ数階段をPythonでプロットする。この前やった加藤文元さんのナベアツ数の図示の続き。どれもNab_n(x)/x→1?

この前の

素数階段ならぬナベアツ階段(ナベアツ数 Nab(x)をxの関数としてプロット)を擬ナベアツ関数(quasi-Nabeatsu function)と比較(加藤文元さんの1ページ論文を見て。Pythonで計算)

の続き。

オリジナルのナベアツ数は3の倍数と3がつくときだけアホになる、だがnの倍数とnがつくときだけアホになる、のが一般化ナベアツ数。

Nabn(x)

と書こう。これを10^6まで、n=1-20まで図示するとこうなった。もちろんn=1は全部の数。結構思わせぶりな曲線になってる。

Nabeatsu_n

ではn=20-200では?

 

Nabeatsu_n2

どれもNab_n(x)/x→1?

Pythonのコードはこちら。高速化のためにNumbaを使った。

import matplotlib.pyplot as plt
import numpy as np
from numba import njit

x=1000000
m=20
n = np.arange(1, x+1)

@njit
def Nab(n, x):
    count = 0
    nb = np.zeros(x)
    for k in range(1, x+1):
        if k % n == 0 or str(n) in str(k):
            count += 1
        nb[k-1] = count
    return nb

 

plt.figure(figsize=(15,15))
plt.grid()
plt.title("Generalized Nabeatsu Numbers Nab_n(x)", fontsize=24)
plt.xlabel('x', fontsize = 18)
plt.ylabel('Nab(x)', fontsize = 18)
plt.tick_params(labelsize=18)

plt.xscale("log")
plt.yscale("log")
for i in range(1,m+1):
    a = Nab(i, x)
    s = 'Nab_' + str(i) + '(x)'
    plt.plot(n, a, label = s)
plt.legend(fontsize=12)
plt.show()

« 松屋で極上グラナパダーノ チーズトマト厚切りロースかつ定食(コロッケ付き、豚汁変更のフルセット)でいただく。チーズが粉になって風味がよくなった。 | トップページ | Python+Sympy(数式処理)でZパラメータ(インピーダンス行列)からSパラメータに変換する。その1、成分で書く場合 »

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

コメント

コメントを書く

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

« 松屋で極上グラナパダーノ チーズトマト厚切りロースかつ定食(コロッケ付き、豚汁変更のフルセット)でいただく。チーズが粉になって風味がよくなった。 | トップページ | Python+Sympy(数式処理)でZパラメータ(インピーダンス行列)からSパラメータに変換する。その1、成分で書く場合 »

最近の記事

最近のコメント

2024年12月
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        
フォト
無料ブログはココログ