ExcelでLAMBDA関数が使えるようになった(7) 離散フーリエ変換(DFT=Discrete Fourier Transform)(修正版)と逆変換(IDFT)をLAMBDA、LET、SEQUENCE、MAKEARRAY、MAP、複素数関数(IMEXP,IMPRODUCTなど)を組み合わせてVBAも分析ツールもなしに関数として実現する。
さて昨日やった離散フーリエ変換はちょっと問題があって、それは実数は大丈夫だが複素数を入れるとエラーになるということ。
理由は、セルを数えるのにCOUNT関数を使っていたが、複素数は文字とみなされるのでCOUNTAをつかわないとだめだった。
逆フーリエ変換を作ろうとしてずっとエラーになっていたので気づいた。。。なので修正します。
離散フーリエ変換=LAMBDA(fn,LET(N,COUNTA(fn),MAKEARRAY(N,1,LAMBDA(m,c,IMSUM(MAP(fn,SEQUENCE(N,1,0),LAMBDA(fnn,nn,IMPRODUCT(fnn,IMEXP(COMPLEX(0,-2*PI()*nn*(m-1)/N))))))))))
離散逆フーリエ変換=LAMBDA(fn,LET(N,COUNTA(fn),MAKEARRAY(N,1,LAMBDA(m,c,IMSUM(MAP(fn,SEQUENCE(N,1,0),LAMBDA(fnn,nn,IMPRODUCT(IMDIV(fnn,N),IMEXP(COMPLEX(0,2*PI()*nn*(m-1)/N))))))))))
(もう少しわかりやすく書くとこうなる)
これに名前(DFT、IDFTとする)をつけて、
変換したい列を選んで=DFT(B2:B9)や=IDFT(C2:C9)などと最初の行に入れるだけで全データが出てくる。
これは本当に実用的じゃなかろうか!と自負している。
なんせVBAも分析ツールもいらないからね。
追記:
Advanced formula environmentというアドインがあって、
それを使えばDFTのような複雑な式も読みやすくなるのを知った。
早速入れてみた。DFTを表示すると、
おお!かっこの対応が分かりやすくなった。これで開発がはかどるな。
過去にやったもの:
ExcelでLAMBDA関数が突然使えるようになった。4段4次のルンゲクッタ法がワークシートだけ(VBA使わずに)で簡単に計算できるようになった。まずはローレンツ方程式を計算してみる。
ExcelでLAMBDA関数が突然使えるようになった(2) 5次のルンゲクッタフェールベルグ法でローレンツ方程式をワークシートだけで(VBA使わずに)計算
ExcelでLAMBDA関数が突然使えるようになった(3) LET、SEQUENCE、IFSと組み合わせてワンライナー(1セル)で数値積分(シンプソンの積分公式)を計算
« ExcelでLAMBDA関数が使えるようになった(6) 離散フーリエ変換(DFT=Discrete Fourier Transform)をLAMBDA、LET、MAKEARRAY、MAP、複素数関数(IMEXP,IMPRODUCTなど)を組み合わせてVBAも分析ツールもなしに関数として実現する。これは実用的じゃなかろうか。 | トップページ | 高周波(RF・マイクロ波・ミリ波・5G)関連ニュース2022年2月18日 IEEE Microwave Magazineは女性高周波研究者特集2。指の動きで信号が変わるタグなど。Microwave Journalは誘電体共振器アンテナ(DRA)、μmでもないのになんでマイクロ波と言い出したか?+6Gホワイトペーパー, Wi-Fi 7など。 »
「パソコン・インターネット」カテゴリの記事
- 出遅れましたがFizzBuzzをExcelのMAP,LAMBDA,SEQUENCE,IFS関数を使って一行(というかただの1セル入力)で作る。(2023.09.24)
- iOS17の新機能、Object CaptureをアプリHyper Captureで試す。ゴッホのスヌーピーとフェルメールの牛乳を注ぐミッフィーを3D スキャンでぐるぐる回す。3回角度変えてキャプチャが必要だった。プロセスはiPhone 12 Pro Maxなんで時間掛かるけどかなり綺麗に。(2023.09.21)
- 離散リアプノフ方程式 AXAᴴ - X + Q = 0がクロネッカー積とvecで計算できることを思い出した!(Vec Trickというそう)。Pythonのscipy.linalg.solve_discrete_lyapunovとnumpy.kronの両方で計算してちゃんと合うことを確認。(2023.09.22)
- Google検索の生成AI,SGEが使えるようになっていた。じゃあということでRIS(Reconfigurable Intelligent Surface)について聞いてみた。ChatGPT, BingのAIチャット、Bardと比較。ZTEが先日発表していたので聞いたが、SGEはその話にも触れた。詳しいのはChatGPTだった。(2023.09.02)
- PythonのmatplotlibにXKCD(棒人間の理系コミック、ホワット・イフのランドール・マンローさん作)の手書き風グラフが描ける機能があった!せっかくなのでルンゲクッタ法のDormand Prince8次(DOP853)でローレンツ方程式を描く。(2023.09.01)
「学問・資格」カテゴリの記事
- Molexから60GHz帯の非接触通信用のIC(MX60)が発表。STMicroelectronicsの同じ機能のIC(ST60)より後発だけど一回り大きい?MolexってLGの二画面スマホに使われていたKeyssaから技術買ったんだな。STMのICはApple Watchの60.5GHz隠し診断通信に使われているのでコンパチと思った…(2023.09.28)
- 浜村渚の計算ノート 10さつめ ラ・ラ・ラ・ラマヌジャンを読んだ。九章算術、ベクトル、四元数、電卓、そしてラマヌジャン!タクシー数も1+2+3+…=-1/12もいろんな公式も出てきます。カプレカー数も。高精度計算サイトkeisan.casio.jpにUPしているものとも関連していてよかった。(2023.09.26)
- 出遅れましたがFizzBuzzをExcelのMAP,LAMBDA,SEQUENCE,IFS関数を使って一行(というかただの1セル入力)で作る。(2023.09.24)
- (速報続報)iPhone15 Proが早くも分解。USモデルなのでミリ波アンテナ3つが見えてる。USモデルとその他でMLBの形から違う!(USはeSIM、他はSIMカード)、なのでスペースがなくて他モデルはミリ波アンテナ部分に部品乗せてる!(2023.09.23)
- 離散リアプノフ方程式 AXAᴴ - X + Q = 0がクロネッカー積とvecで計算できることを思い出した!(Vec Trickというそう)。Pythonのscipy.linalg.solve_discrete_lyapunovとnumpy.kronの両方で計算してちゃんと合うことを確認。(2023.09.22)
「日記・コラム・つぶやき」カテゴリの記事
- Molexから60GHz帯の非接触通信用のIC(MX60)が発表。STMicroelectronicsの同じ機能のIC(ST60)より後発だけど一回り大きい?MolexってLGの二画面スマホに使われていたKeyssaから技術買ったんだな。STMのICはApple Watchの60.5GHz隠し診断通信に使われているのでコンパチと思った…(2023.09.28)
- 浜村渚の計算ノート 10さつめ ラ・ラ・ラ・ラマヌジャンを読んだ。九章算術、ベクトル、四元数、電卓、そしてラマヌジャン!タクシー数も1+2+3+…=-1/12もいろんな公式も出てきます。カプレカー数も。高精度計算サイトkeisan.casio.jpにUPしているものとも関連していてよかった。(2023.09.26)
- 出遅れましたがFizzBuzzをExcelのMAP,LAMBDA,SEQUENCE,IFS関数を使って一行(というかただの1セル入力)で作る。(2023.09.24)
- (速報続報)iPhone15 Proが早くも分解。USモデルなのでミリ波アンテナ3つが見えてる。USモデルとその他でMLBの形から違う!(USはeSIM、他はSIMカード)、なのでスペースがなくて他モデルはミリ波アンテナ部分に部品乗せてる!(2023.09.23)
- iOS17の新機能、Object CaptureをアプリHyper Captureで試す。ゴッホのスヌーピーとフェルメールの牛乳を注ぐミッフィーを3D スキャンでぐるぐる回す。3回角度変えてキャプチャが必要だった。プロセスはiPhone 12 Pro Maxなんで時間掛かるけどかなり綺麗に。(2023.09.21)
« ExcelでLAMBDA関数が使えるようになった(6) 離散フーリエ変換(DFT=Discrete Fourier Transform)をLAMBDA、LET、MAKEARRAY、MAP、複素数関数(IMEXP,IMPRODUCTなど)を組み合わせてVBAも分析ツールもなしに関数として実現する。これは実用的じゃなかろうか。 | トップページ | 高周波(RF・マイクロ波・ミリ波・5G)関連ニュース2022年2月18日 IEEE Microwave Magazineは女性高周波研究者特集2。指の動きで信号が変わるタグなど。Microwave Journalは誘電体共振器アンテナ(DRA)、μmでもないのになんでマイクロ波と言い出したか?+6Gホワイトペーパー, Wi-Fi 7など。 »
コメント