« パンサー尾形さんのNHK 笑わない数学 コラッツ予想を録画したものを見て速記メモ。テレンス・タオさんの分かりやすいプレゼン資料見つけたが非線形シュレーディンガー方程式なのか!あとn=5977996304343501855なら2389ステップでようやく1になること図示したりした。 | トップページ | Python in Excel(ExcelであるセルでPY関数を使うとPythonコードがかける)を使う(その1)scikit-learnを使ってアイリス(あやめ)の分類を様々な機械学習(k-最近傍法、ロジスティック回帰、ランダムフォレスト、SVM、ニューラルネットワーク)を試す。Python Editorも試す。 »

2023年10月14日 (土)

笑わない数学でコラッツ予想やっていたので、Excelで一行(というか1セル入力だけで)SCAN関数とLAMBDA関数を使ってコラッツ予想を計算する。

先日これを観た。なかなか面白かったなあ。

 パンサー尾形さんのNHK 笑わない数学 コラッツ予想を録画したものを見て速記メモ。テレンス・タオさんの分かりやすいプレゼン資料見つけたが非線形シュレーディンガー方程式なのか!あとn=5977996304343501855なら2389ステップでようやく1になること図示したりした。

で、カシオの高精度計算サイトには自作式を上げてますが、ExcelでVBA使わずに1セル入力だけでやるにはどうすんだろう?と思ったがSCAN関数とLAMBDA関数を使えば簡単にできることが分かった。

こんな感じ:

=SCAN(J2,SEQUENCE(1000), LAMBDA(x,y,IFS(x="", "", x=1,"", MOD(x,2)=0, x/2, MOD(x,2)<>0, 3*x+1)))

繰り返しは1000回に決め打ちしたのでちょっといまいち(無限ループってExcelの関数だけでできないのかな…)

でも結果は綺麗にこんな感じに。

Excelcollatz1

分かりやすく書くとこうなる。

Excelcollatz2

ちゃんと27が長いのも計算出来てる。

27
82
41
124
62
31
94
47
142
71
214
107
322
161
484
242
121
364
182
91
274
137
412
206
103
310
155
466
233
700
350
175
526
263
790
395
1186
593
1780
890
445
1336
668
334
167
502
251
754
377
1132
566
283
850
425
1276
638
319
958
479
1438
719
2158
1079
3238
1619
4858
2429
7288
3644
1822
911
2734
1367
4102
2051
6154
3077
9232
4616
2308
1154
577
1732
866
433
1300
650
325
976
488
244
122
61
184
92
46
23
70
35
106
53
160
80
40
20
10
5
16
8
4
2
1

過去にやったLAMBDAシリーズ:

ExcelでLAMBDA関数が突然使えるようになった。4段4次のルンゲクッタ法がワークシートだけ(VBA使わずに)で簡単に計算できるようになった。まずはローレンツ方程式を計算してみる。

ExcelでLAMBDA関数が突然使えるようになった(2) 5次のルンゲクッタフェールベルグ法でローレンツ方程式をワークシートだけで(VBA使わずに)計算

ExcelでLAMBDA関数が突然使えるようになった(3) LET、SEQUENCE、IFSと組み合わせてワンライナー(1セル)で数値積分(シンプソンの積分公式)を計算

ExcelでLAMBDA関数が突然使えるようになった(4) LET、SEQUENCE、IFSと組み合わせてクロソイド曲線を計算するオリジナルの関数を作る。セルに=Clothoid_X(A2)とか入れるだけで計算できる。

ExcelでLAMBDA関数が突然使えるようになった(5)なんと再帰まで使える。階乗とフィボナッチ数列で試してみた。

ExcelでLAMBDA関数が使えるようになった(7) 離散フーリエ変換(DFT=Discrete Fourier Transform)(修正版)と逆変換(IDFT)をLAMBDA、LET、SEQUENCE、MAKEARRAY、MAP、複素数関数(IMEXP,IMPRODUCTなど)を組み合わせてVBAも分析ツールもなしに関数として実現する。

ExcelでLAMBDA関数が使えるようになった(8) 4段4次のルンゲクッタ法をLAMBDAだけ(VBAもセルの計算も使わずに)で実現、RK4(t, x, y, z)だけで次の時間ステップが計算できるようにした。例はもちろんローレンツ方程式。

ExcelでLAMBDA関数が使えるようになった(9)リーマン・ゼータ関数ζ(z)をLAMBDA、REDUCE、SEQUENCE、複素数関数を組み合わせて=Zeta(1/2+2i)などで計算できるようにした。

ExcelでLAMBDA関数が使えるようになった(10) Sパラメータのような複素数データの実部・虚部のRIとデシベル、位相のdBを2列を選択するだけで dB2RI(範囲), RI2dB(範囲)でLAMBDA, MAKEARRAY,LETを使って相互に計算できるようにする。

ExcelでLAMBDA関数が使えるようになった(9の追記)リーマン・ゼータ関数ζ(z)をLAMBDA、REDUCE、SEQUENCE、複素数関数を組み合わせて=Zeta(1/2+2i)などで計算できるようにしたので、それをMAP関数を使って3次元グラフにしてみる。

ExcelでLAMBDA関数が使えるようになった(11) 複数のセルの並びから1つ飛ばしとか2つ飛ばしとかでデータを取り出す関数PickOut(範囲、何行ずつか、何列ずつか)を作った。よく変なデータの並びで取り出すのがめっちゃ困ることがあるので。

ExcelでLAMBDA関数が使えるようになった(12) VBAを使わずに複素行列の積、逆行列などをLET, MAKEARRAY, INDEXと実行列のMMULT, MINVERSEなどを組み合わせて実現する(IMMULT, IMINVERSE)

ExcelでLAMBDA関数が使えるようになった(13) 工程能力指数Cpkと平均と標準偏差、最大、最小、変動係数CVを一度に求める関数DataAnalysisを作った。=DataAnalysis(データ範囲, 上限値, 下限値)のようにつかう。

ExcelでLAMBDA関数が使えるようになった(14) REDUCEやSCANを使えば反復計算もできる、ということでニュートン・ラフソン法をやってみる。関数f(x)と導関数、初期値を与えると一気に計算してくれる。

ExcelでLAMBDA関数が使えるようになった(15) 円の弧長,弦長,矢高,半径のどれか2つを与えて残りを計算を反復計算用にREDUCE関数を使ってやってみる。弧長と矢高から弦長 (A1:A2), 弧長と弦長から矢高(A1:A2),弦長と矢高から弧長(A1:A2)のように日本語関数にしてみた。

ExcelでLAMBDA関数が使えるようになった(17) Sパラメータの標準フォーマットTouchstoneが3ポート以上で並びが変なので、LAMBDA,LET,SEQUENCE,IFS,INDEXなどを組み合わせてフラットにするTouchstoneFlatten(s,n)を作った。ただし今はs3p, s4p(3ポート,4ポート)のみ。

 

ExcelでLAMBDA関数が使えるようになった(16) ランベルトのW関数(Lambert W, z=W(z)*exp(W(z)))をREDUCEを使った反復計算で。ただし実数のみと主枝は0と-1のみ。

 

« パンサー尾形さんのNHK 笑わない数学 コラッツ予想を録画したものを見て速記メモ。テレンス・タオさんの分かりやすいプレゼン資料見つけたが非線形シュレーディンガー方程式なのか!あとn=5977996304343501855なら2389ステップでようやく1になること図示したりした。 | トップページ | Python in Excel(ExcelであるセルでPY関数を使うとPythonコードがかける)を使う(その1)scikit-learnを使ってアイリス(あやめ)の分類を様々な機械学習(k-最近傍法、ロジスティック回帰、ランダムフォレスト、SVM、ニューラルネットワーク)を試す。Python Editorも試す。 »

パソコン・インターネット」カテゴリの記事

学問・資格」カテゴリの記事

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

映画・テレビ」カテゴリの記事

コメント

コメントを書く

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

« パンサー尾形さんのNHK 笑わない数学 コラッツ予想を録画したものを見て速記メモ。テレンス・タオさんの分かりやすいプレゼン資料見つけたが非線形シュレーディンガー方程式なのか!あとn=5977996304343501855なら2389ステップでようやく1になること図示したりした。 | トップページ | Python in Excel(ExcelであるセルでPY関数を使うとPythonコードがかける)を使う(その1)scikit-learnを使ってアイリス(あやめ)の分類を様々な機械学習(k-最近傍法、ロジスティック回帰、ランダムフォレスト、SVM、ニューラルネットワーク)を試す。Python Editorも試す。 »

最近の記事

最近のコメント

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