JSL에서 미분 함수 반복
안녕하세요 JMP 사용자 커뮤니티 여러분, 저는 JSL 함수 때문에 꽤 오랫동안 어려움을 겪고 있었고, 여러분 중에 도움을 주실 수 있는 분이 있는지 알아보고자 연락드렸습니다.
스크립트에서 제가 원하는 것은 기본적으로 다항 회귀 모델에서 수식 표현식을 가져와 각 요인에 대한 편미분을 계산하는 것입니다. 이상적으로는 표현식 수식에 포함된 모든 요인의 목록을 생성합니다. 그런 다음 목록을 반복하면서 미분 함수에 요인을 하나씩 넣어 모든 편미분 공식을 계산하고 개별적으로 저장합니다. 문제는 미분 함수에서 허용하는 방식으로 요인 이름을 포맷하는 루프를 어떻게 생성할 수 있는지 알 수 없다는 것입니다. 이미 여러 가지 방법을 시도했지만 아무것도 효과가 없는 것 같습니다. 편미분을 정확하게 계산하는 두 가지 방법은 JSL 예제 파일에 첨부했습니다.
이 함수를 사용해 보신 분이나 루프 내에서 미분 함수의 올바른 입력 형식을 만드는 데 도움을 주실 수 있는 분이 계신가요? 도와주시면 정말 감사하겠습니다!
자동화 및 스크립팅Re: JSL에서 미분 함수 반복당신은 항목을 파생물로 평가할 수 있습니다
Names Default To Here(1);
formula_expr = Expr(
48.5137619590147 + -5.01848924914286 * :"Factor 1"n + -6.30434548201033 * :"Factor 2"n
+4.98953779772742 * :"Factor 3"n + 4.94156314686837 * :"Factor 4"n + -8.10632041659685 *
:"Factor 5"n + -15.9138137782692 * :"Factor 1"n * :"Factor 1"n + 5.67284677635098 *
:"Factor 2"n * :"Factor 2"n
);
///// Working example 1
derivative_expr = Derivative(Name Expr(formula_expr), :Name("Factor 1"));
Show(derivative_expr);
///// Working example 2
derivative_expr = Derivative(Name Expr(formula_expr), :"Factor 1"n);
Show(derivative_expr);
//// What the loop should look like (not working)
factorList = {:"Factor 1"n, :"Factor 2"n, :"Factor 3"n, :"Factor 4"n, :"Factor 5"n};
For Each({factor_item}, factorList,
derivative_expr = Eval(EvalExpr(
Derivative(Name Expr(formula_expr), Expr(Name Expr(factor_item)));
));
Show(derivative_expr);
);
Re: JSL에서 미분 함수 반복jthi님, 정말 감사합니다! 이것으로 문제가 해결되었습니다.:) 저는 그것을 스크립트에 성공적으로 구현했습니다.
귀하의 도움에 감사드립니다