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など。 »
「パソコン・インターネット」カテゴリの記事
- Interface2025年8月号Pythonで体験!はじめての暗号を買った。上杉暗号からRSA、AES、DHなど、特に楕円曲線暗号についてはコードも実際に動かすところまで詳しくかかれていた。耐量子暗号や聞いたことなかったY-00暗号や関数型暗号も記載。(2025.07.10)
- Gemini CLIが使えるようになっていたので早速VSCodeのターミナルから使って、JavaScriptで連立一次方程式を計算するコードを書いてもらった。普通にガウスの消去法で計算するhtmlを作ってくれた。(2025.06.27)
- Google ColabのJulia言語で1次元のGray-Scottモデル(∂u/∂t=u²v-(F+k)u+Du∂²u/∂x²,∂v/∂t=-u²v+F(1-v)+Dv∂²v/∂x²)を計算してパルスが次々分裂する様子を見る。空間6次の差分、時間8次のルンゲクッタ法で計算。(2025.07.08)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年7月13日 Pythonの高周波ライブラリscikit-rfがv1.8.0に、SamsungがGalaxy Z Fold7など発表→QualcommがSnapdragon 8 Eliteが使われていると発表、NGMNが基地局アンテナの推奨事項をまとめる、STMicroとMetalenzがメタサーフェス光学のライセンス締結(2025.07.14)
- Interface2025年8月号Pythonで体験!はじめての暗号を買った。上杉暗号からRSA、AES、DHなど、特に楕円曲線暗号についてはコードも実際に動かすところまで詳しくかかれていた。耐量子暗号や聞いたことなかったY-00暗号や関数型暗号も記載。(2025.07.10)
- 高周波・RFニュース 2025年7月8日 NordicとSercommのセルラーIoTモジュール、iFixitがFairphone 6を分解、スコアは10/10、RCR wireless newsのウェビナー2件(6GとIndustry4.0)、SEMCOが高耐圧C0G MLCCを車載急速充電に提案(2025.07.09)
- 高周波・RFニュース 2025年7月2日 5G Americasが6Gに向けセンシングと通信ホワイトペーパー発行、KYOCERA AVXが3dBハイブリッドカプラ発表、TDKが車載薄膜インダクタ発表、Nordicが1次電池向けPMIC発表、ローデ・シュワルツの6GとAI/ML解説記事(2025.07.02)
- 高周波・RFニュース 2025年6月30日 QualcommがAIを用いた6Rxアンテナ解説、Next G Allianceと日本のXGMFが5G,6Gで協力、5G Americasが25Q1で5G加入者増加と発表、TechInsigtsがHuawei Pura 80 Pro+分解、Qorvoが5-7GHzのWi-Fi 7 FEM発表(2025.06.30)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2025年7月13日 Pythonの高周波ライブラリscikit-rfがv1.8.0に、SamsungがGalaxy Z Fold7など発表→QualcommがSnapdragon 8 Eliteが使われていると発表、NGMNが基地局アンテナの推奨事項をまとめる、STMicroとMetalenzがメタサーフェス光学のライセンス締結(2025.07.14)
- 高周波・RFニュース 2025年7月8日 NordicとSercommのセルラーIoTモジュール、iFixitがFairphone 6を分解、スコアは10/10、RCR wireless newsのウェビナー2件(6GとIndustry4.0)、SEMCOが高耐圧C0G MLCCを車載急速充電に提案(2025.07.09)
- 高周波・RFニュース 2025年7月2日 5G Americasが6Gに向けセンシングと通信ホワイトペーパー発行、KYOCERA AVXが3dBハイブリッドカプラ発表、TDKが車載薄膜インダクタ発表、Nordicが1次電池向けPMIC発表、ローデ・シュワルツの6GとAI/ML解説記事(2025.07.02)
- 高周波・RFニュース 2025年6月30日 QualcommがAIを用いた6Rxアンテナ解説、Next G Allianceと日本のXGMFが5G,6Gで協力、5G Americasが25Q1で5G加入者増加と発表、TechInsigtsがHuawei Pura 80 Pro+分解、Qorvoが5-7GHzのWi-Fi 7 FEM発表(2025.06.30)
- 高周波・RFニュース 2025年6月27日 Qualcommが6Gに向けての3GPPリリース20解説、TDKが100V1608サイズ1μFのMLCCを発表、Skyworksが低ジッタのクロックファミリーを発表、Elisa,Ericsson,MediaTekが5G SAで8Gbpsを達成(2025.06.27)
« 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など。 »
コメント