« 松のやでWソースのメガチキンかつ定食をいただく。玉ネギソースとタルタルソースだが、玉ネギの方が好きかな。 | トップページ | 最澄と天台宗のすべて 伝教大師1200年大遠忌記念特別展@京都国立博物館を観てきた。ミイラ展に続きCTスキャンと3次元プリンタで仏像の中身が非破壊で観られるのはすごいな。あと空也上人像に別バージョンがあったのを初めて知った。 »

2022年4月22日 (金)

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

高周波で使われるSパラメータという量がある。

このデータの標準的フォーマットはTouchstoneといって、いろいろ紆余曲折ののち、今はIBISフォーラムが管理している。

Ver.2.0もあるがまだVer.1.1の方がよく使われる。

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

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

Touchstone_3port

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

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

そこでこれをフラットにする関数を作った。こちら:

Touchstone_flatten1

テキストで書いたもの:

TouchStoneFlatten = lambda(s, n, 
           let(
                r,  ROWS(s),
                c,  COLUMNS(s),
                rf,  r/n,
                cf,  2*n*n+1,
                sq, SEQUENCE(rf,cf,0),
                cs,MOD(sq,cf)+1,
                cp, IFS(cs<=2*n+1, cs, 
                        cs<=4*n+1, cs-2*n, 
                        cs<=6*n+1,cs-4*n, 
                        cs<=8*n+1,cs-6*n
                        ),
                rs,  IFS(cs<=2*n+11,   
                         cs<=4*n+12,          
                         cs<=6*n+13,          
                         cs<=8*n+14      
                    ),
                rp,  rs+n*QUOTIENT(sq,2*n*n+1),
            INDEX(s,rp,cp)
            )
        );
例えば4ポートなら=TouchstoneFlatten(範囲, 4), 3ポートなら=TouchtoneFlatten(範囲,3)のように使う。
やってみたもの(4ポートの場合)
Touchstone_flatten2
変な並びのデータがきちんと整列していることがわかります。これで
Touchstone_flatten3
こんなグラフも描き放題。
この例はTDKさんのトリプレクサのネットで公開されているSパラメータを使いました。
一般のnポートの時は、、、うーんちょっと考えさせて。
次の宿題に…

過去にやったもの:

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のみ。

 

« 松のやでWソースのメガチキンかつ定食をいただく。玉ネギソースとタルタルソースだが、玉ネギの方が好きかな。 | トップページ | 最澄と天台宗のすべて 伝教大師1200年大遠忌記念特別展@京都国立博物館を観てきた。ミイラ展に続きCTスキャンと3次元プリンタで仏像の中身が非破壊で観られるのはすごいな。あと空也上人像に別バージョンがあったのを初めて知った。 »

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

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

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

コメント

コメントを書く

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

« 松のやでWソースのメガチキンかつ定食をいただく。玉ネギソースとタルタルソースだが、玉ネギの方が好きかな。 | トップページ | 最澄と天台宗のすべて 伝教大師1200年大遠忌記念特別展@京都国立博物館を観てきた。ミイラ展に続きCTスキャンと3次元プリンタで仏像の中身が非破壊で観られるのはすごいな。あと空也上人像に別バージョンがあったのを初めて知った。 »

最近の記事

最近のコメント

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