やあみんな、
プロファイラーにモデルがあり、さまざまな設定を保存したいと考えています。通常、これを行うには、プロファイラーのパラメータ設定を記憶するを使用します。ただし、この特定のケースでは、パラメータ X1 から X4 のすべての組み合わせを -1 から +1 まで 0.1 ステップで保存したいと考えています。
これを行うには、次の JSL コードに関するヘルプが必要です。
Profiler(
Y( :Y ),
Profiler(
1,
Confidence Intervals( 1 ),
Term Value(
:"X1"n( 0, Lock( 0 ), Show( 1 ) ),
:"X2"n( 0, Lock( 0 ), Show( 1 ) ),
:"X3"n( 0, Lock( 0 ), Show( 1 ) ),
:"X4"n( 0, Lock( 0 ), Show( 1 ) )
),
<FONT color="#FF0000">設定を記憶( "設定 1"、差分レポート( 1 ) )、期間値( :"X1"n( 0, Lock( 0 ), Show( 1 ) )、:"X2"n( 0, Lock( 0 )、 Show( 1 ) )、:"X3"n( 0、Lock( 0 )、Show( 1 ) )、:"X4"n( 0、Lock( 0 )、Show( 1 ) ) )</FONT>
);
誰かが既存のコードを微調整できたら素晴らしいでしょう。
前もって感謝します!
JMP がプロファイラーにこれほど多くの異なるオプション (20*20*20*20 または何かが足りないのでしょうか?) を追加することにどれだけ満足するかわかりません。
ただし、テーブルに新しい行を追加して値を更新し、それを更新して << Set to Data in Row を使用しながら、異なる設定があるのと同じだけループすることができます
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Tiretread.jmp", Invisible);
obj = dt << Contour Profiler(
Y(
:Pred Formula ABRASION, :Pred Formula MODULUS,
:Pred Formula ELONG, :Pred Formula HARDNESS
),
Invisible
);
settings = As List(Repeat(-1::1::0.1, 3)`);
dt << Add Rows(1);
max_row = N Rows(dt);
For Each({setting}, settings,
dt[max_row, {"SILICA", "SILANE", "SULFUR"}] = setting;
obj << Set to Data in Row(max_row);
obj << Remember Settings;
);
dt << Delete Rows(max_row);
obj << show window;
完全実施要因計画法を使用して、考えられるすべての組み合わせを作成できる必要があります。
考えられるすべての組み合わせでこれを実行しないことをお勧めします
Names Default To Here(1);
Clear Log();
// Calculate combinations - START
doe_platform = DOE(
Full Factorial Design,
{Add Response(Maximize, "Y", ., ., .), Add Factor(
Continuous,
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21},
"X1",
0
), Add Factor(
Continuous,
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21},
"X2",
0
), Add Factor(
Continuous,
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21},
"X3",
0
), Add Factor(
Continuous,
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21},
"X4",
0
), Set Random Seed(6613116), Make Design, Simulate Responses(0),
Set Run Order(Sort Left to Right)},
Invisible
);
dt = doe_platform << Make Table(Invisible);
doe_platform << Close Window;
m = dt[0, 2::5];
Close(dt, no save);
Show(N Items(m), Dim(m), N Row(m) == 21^4); // N Items(m) = 777924; Dim(m) = [194481 4]; N Row(m) == 21 ^ 4 = 1;
settings = As List((m - 11) / 10);
m = Empty();
// Calculate combinations - END
dt = Open("$SAMPLE_DATA/Tiretread.jmp", Invisible);
dt << New Column("A", Numeric, Continuous, Formula(
:SILICA * :SILANE * :SULFUR * :ELONG
));
obj = dt << Contour Profiler(
Y(A),
Invisible
);
dt << Add Rows(1);
max_row = N Rows(dt);
For Each({setting}, settings[1::100],
dt[max_row, {"SILICA", "SILANE", "SULFUR", "ELONG"}] = setting;
obj << Set to Data in Row(max_row);
obj << Remember Settings;
);
dt << Delete Rows(max_row);
obj << show window;
Write();