for 루프를 사용하여 프로파일러 객체의 요소 설정을 자동으로 변경합니다.안녕하세요 여러분,
프로파일러 개체의 요소 설정을 자동으로 변경하고 싶습니다. 각 요소를 직접 해결하면 예상대로 작동합니다.
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
obj = dt << Profiler(
Y(
:Pred Formula ABRASION, :Pred Formula MODULUS, :Pred Formula ELONG,
:Pred Formula HARDNESS
),
Desirability Functions( 1 )
);
//works
obj << Term Value("SILICA"(5, Min( -10 ), Max( 6 ), Lock( 1 ), Show( 1 ) ));However, if I want to loop over all factors to change the respective settings, nothing happens.
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
obj = dt << Profiler(
Y(
:Pred Formula ABRASION, :Pred Formula MODULUS, :Pred Formula ELONG,
:Pred Formula HARDNESS
),
Desirability Functions( 1 )
);
//does not work
FactorList = {"SILICA", "SILANE"};
for(i=1, i<=n items(FactorList), i++,
Eval(
Eval Expr(
obj << Term Value(
Expr(FactorList[i])( 5, Min( -10 ), Max( 6 ), Lock( 1 ), Show( 1 ) )
)
)
)
);Using
평가(평가 Expr()) usually solved it when I had similar issues. Sadly, this isn't helping this time.
Thanks for your help!
자동화 및 스크립팅Re: for 루프를 사용하여 프로파일러 객체의 요소 설정을 자동으로 변경합니다.이 방법을 사용하면 효과가 있는 것 같습니다.
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
obj = dt << Profiler(
Y(
:Pred Formula ABRASION, :Pred Formula MODULUS, :Pred Formula ELONG,
:Pred Formula HARDNESS
),
Desirability Functions( 1 )
);
//does not work
FactorList = {"SILICA", "SILANE"};
for(i=1, i<=n items(FactorList), i++,
Eval(
Parse(
"obj << Term Value(
\!""||FactorList[i]|| "\!"( 5, Min( -10 ), Max( 6 ), Lock( 1 ), Show( 1 ) )
);"
)
)
);Re: for 루프를 사용하여 프로파일러 객체의 요소 설정을 자동으로 변경합니다.스크립트를 디버깅하려면 EvalExpr() 부분이 반환하는 내용을 확인할 수 있습니다.
FactorList = {"SILICA", "SILANE"};
i = 1;
term_expr = Eval Expr(obj << Term Value(Expr(FactorList[i])(5, Min(-10), Max(6), Lock(1), Show(1))));
show(term_expr);
이것은 잘못된 구문입니다.
term_expr = obj << Term Value("SILICA" << {5, Min(-10), Max(6), Lock(1), Show(1)});
그리고 이것을 처리하는 한 가지 방법이 있습니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Tiretread.jmp");
obj = dt << Profiler(
Y(:Pred Formula ABRASION, :Pred Formula MODULUS, :Pred Formula ELONG, :Pred Formula HARDNESS),
Desirability Functions(1)
);
terms = {"SILICA", "SILANE"};
For Each({term}, terms,
Eval(Substitute(
Expr(obj << Term Value(_term_(5, Min(-10), Max(6), Lock(1), Show(1)))),
Expr(_term_), Name Expr(AsColumn(dt, term));
));
);