カスタム列の式次の計算を使用して、テーブルに新しい列「Vth」を追加したいと考えています。
まず、「IDS」が 1e-9 (または Log10[IDS] = -9) に最も近い列「IDS」のインデックス i を見つける必要があります。そして、Vth = VGS(i)となります。 サイト、測定、SWP、ウェーハの列でもグループ化する必要があります。 つまり、サイト、測定、SWP、ウェーハの一意の組み合わせごとに 1 つの Vth 値が存在します。
IDS が正確に 1e-9 ではない場合。 この方法で補間してください。 あれは; Log10[IDS] 対 VGS。
Exact VTH = Interpolate( Log10( 1e-9 ), [Log10[IDS](i)) Log10[IDS](i-1)] , [VGS (i) VGS (i-1) ] );
SWP 列は順方向 (0) と逆方向 (1) の VGS のスイープであることに注意してください。したがって、補間方向は適切な方法で処理する必要があります。
データのブレンディングとクリーンアップRe: カスタム列の式以下のメールにいくつかタイプミスをしてしまいました。 以下が正しいはずです
-9 のすぐ上にある VGS、logIDS を見つけます。VGS_u、log(IDS)_u と呼びます。
-9 のすぐ下にある VGS、logIDS を見つけます。VGS_i、log(IDS)_i と呼びます。
傾きを計算します。m = abs(log(IDS)_u-log(IDS)_i)./abs( abs(VGS_u-VGS_i))
正確な VTH = VGS_i + 1/m*(9-abs(log(IDS)_i)))
Re: カスタム列の式こんにちは、ケビン!
このアプローチを取れるのではないかと思いました。
-9 のすぐ上にある VGS、logIDS を見つけます。VGS_u、log(IDS)_u と呼びます。
-9 をわずかに下回る VGS、logIDS を見つけます。-- これを VGS_i、log(IDS)_i と呼びます。
傾きを計算します。m = abs(log(IDS)_u-log(IDS)_i)./abs(log(IDS)_u-log(IDS)_i)
正確な VTH = m*(abs(VGS_u-VGS_i)) + min(abs( log(IDS)_u), abs( log(IDS)_i) )
複数の列の数式で実行できるとしても、カスタム数式が本当に必要でした。
よろしく、
パンカジ
Re: カスタム列の式それを列数式として持つことが可能であれば、それはかなり難しいでしょう。おそらく、テーブル スクリプトまたは通常のスクリプトが最適な選択でしょう。以下はうまくいくようです。
dt = Current Data Table();
summarized table = dt << Summary( Group( :Site, :Measurement, :SWP, :Device, :Wafer ) );
lookup = [=> ];
For Each Row(
summarized table,
If( !(lookup << Contains( :Site, Empty() )),
lookup[:Site] = [=> ]
);
If( !(lookup[:Site] << Contains( :Measurement, Empty() )),
lookup[:Site][:Measurement] = [=> ]
);
If( !(lookup[:Site][:Measurement] << Contains( :SWP, Empty() )),
lookup[:Site][:Measurement][:SWP] = [=> ]
);
If( !(lookup[:Site][:Measurement][:SWP] << Contains( :Device, Empty() )),
lookup[:Site][:Measurement][:SWP][:Device] = [=> ]
);
If( !(lookup[:Site][:Measurement][:SWP][:Device] << Contains( :Wafer, Empty() )),
lookup[:Site][:Measurement][:SWP][:Device][:Wafer] = [=> ]
);
summarized table << Clear Select;
summarized table << Select Rows( Row() );
rows = dt << Get Selected Rows;
vals = Column( dt, "Log10[IDS]" )[rows];
test = {};
For( i = 1, i <= N Items( rows ), i++,
test[i] = Eval List( {Abs( 9 + vals[i] ), rows[i]} )
);
Sort List Into( test );
lookup[:Site][:Measurement][:SWP][:Device][:Wafer] = Column( dt, "VGS" )[test[1][2]];
);
Close( summarized table, No Save );
Eval( Eval Expr(
dt << New Column( "LOOKUP_RESULT", "Numeric", Formula( lookup = Expr( lookup ); lookup[:site][:measurement][:swp][:device][:wafer] ) )
) )Re: カスタム列の式こんにちは、パンカジシンクです!
はい、見ることができました。
1e-9 に最も近い IDS 値に関連する VGS 値を見つけるのは非常に簡単です。log10(IDS)+9 の絶対値を取る損失関数列を設定し、次の式でその値の列最小値を特定します。サイト、測定、SWP、デバイス、ウェーハ。これらの損失値の最小値に対応する VGS が不正確な Vth になります。
しかし、IDS 値はどれも正確に 1e-9 ではなく、「最も近い」IDS 値の一部は 1e-9 からかなり離れています。そのため、「補間」という言葉を使用したときにどのような手順と結果が発生することを意図しているのかをより詳しく説明してください。 」。IDS が正確に 1e-9 になる場合の Vth の予測を意味しますか?線形モデルを使用しますか?IDS 値が 1e-9 からどれだけ離れているかに関係なく、すべての固有のサイト、測定、SWP、デバイス、ウェーハの組み合わせでこの手順が必要ですか?
おそらく、これらの質問に答えることに加えて、あなたがすでに試みて失敗したアプローチを共有していただけますか?個人的には、これを行うための JSL スクリプトを作成することを検討します。アプリケーションがエラー チェックと初期データ境界条件の検証から恩恵を受ける可能性があると思われるからです。しかし、このディスカッション サイトの住人の中には、そのスキルに私を大いに感銘させた Formula Jedi もいます。 、公式が必要な場合は、解決策があるかもしれません。あなたの答えが正しく予想されるとしても、私はそうではないと思います。
乾杯、
ケビン
Re: カスタム列の式こんにちは、
どこまで進んだかは次のとおりです。ウェハ、サイト、測定、デバイス、ウェハごとに 1e-9 に最も近い IDS の ID を見つけることができ、対応する VGS を返します。それ以外の場合は 0 を返します。 ただし、前述したように、補間はさらに困難です。
If(
Abs( :Name( "Log10[IDS]" ) + 9 ) == Col Minimum(
Abs( :Name( "Log10[IDS]" ) + 9 ),
:Site,
:Measurement,
:Device,
:Wafer
),
:VGS,
0
);
最高、
TS
Re: カスタム列の式こんにちは、
要求どおりの列式を取得するのは、予想よりも少し難しいことがわかりました。
他の人が私がこれまでに経験した以上の幸運を掴むことを願っています。
最高、
TSRe: カスタム列の式誰かそれを見ることができたでしょうか?Re: カスタム列の式このJMPファイルを使用してください。 上記の Excel は無視してください。
以下の説明を更新しました:-
次の計算を使用して、テーブルに新しい列「Vth」を追加したいと考えています。
まず、「IDS」が 1e-9 (または Log10[IDS] = -9) に最も近い列「IDS」のインデックス i を見つける必要があります。そして、Vth = VGS(i)となります。 サイト、測定、SWP、デバイス、ウェーハの列でもグループ化する必要があります。 つまり、サイト、測定、SWP、ウェーハ、デバイスの一意の組み合わせごとに 1 つの Vth 値が存在します。
IDS が正確に 1e-9 ではない場合。 この方法で補間してください。 あれは; Log10[IDS] 対 VGS。
Exact VTH = Interpolate( Log10( 1e-9 ), [Log10[IDS](i)) Log10[IDS](i-1)] , [VGS (i) VGS (i-1) ] );
SWP 列は順方向 (0) と逆方向 (1) の VGS のスイープであることに注意してください。したがって、補間方向は適切な方法で処理する必要があります。