« 三田製麵所で灼熱つけ麺(2辛、麺は大盛)をいただく。ちょうどいい辛さで美味しかった! | トップページ | ラーメンのあるココイチで手仕込みとんかつカレーらーめん(大盛、三辛)をいただく。ものすごく満足度が高い。 »

2022年8月 9日 (火)

ExcelでLAMBDA関数に続いて14の関数が使えるようになってる!まずはTOROW関数を使ってSパラメータの標準フォーマットTouchstoneが3ポート以上で並びが変なのでそれをフラットにする。

だいぶ前にこの記事を見た。

Microsoft、「Excel」に14の新関数を追加へ ~テキスト・配列操作が簡単に

LAMBDAやLETは使えるようになっていたがこれらの関数使えないな、と思ってすっかり忘れていて昨日たまたまやってみたらもう使えるようになっていた!

じゃあまずは、、、LAMBDAでやったけどちょっと複雑だなとおもったこれ。

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

これをTOROW関数使ってやってみよう。

再掲するとTouchstoneフォーマットは

https://ibis.org/connector/touchstone_spec11.pdf

これの問題は、3ポート以上だとデータの並びが変なこと。例えば3ポート、4ポートは

Touchstone_3port

のように折り返される。(※5ポートからもっと変になるがそれはちょっと置いておいてまずは3と4ポートだけ)

これをテキストとしてExcelで読んで、普通にデータ処理とかグラフにするのがとんでもなくめんどくさい。

TOROW使うと、

=TOROW(INDIRECT(ADDRESS((ROW()-2)*4+2,1,4)):INDIRECT(ADDRESS((ROW()-2)*4+5,9,4)),1)

を1つのセルに入れて、それをただ下にコピペするだけでいい。

結果はこんな感じ。ただし遅い…

Torow1

14個もあるから他に何ができるか考えてみよう。

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

 

« 三田製麵所で灼熱つけ麺(2辛、麺は大盛)をいただく。ちょうどいい辛さで美味しかった! | トップページ | ラーメンのあるココイチで手仕込みとんかつカレーらーめん(大盛、三辛)をいただく。ものすごく満足度が高い。 »

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

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

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

コメント

コメントを書く

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

« 三田製麵所で灼熱つけ麺(2辛、麺は大盛)をいただく。ちょうどいい辛さで美味しかった! | トップページ | ラーメンのあるココイチで手仕込みとんかつカレーらーめん(大盛、三辛)をいただく。ものすごく満足度が高い。 »

最近の記事

最近のコメント

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