안녕,
가능한 낮은 기술 솔루션은 데이터 테이블의 별도 열에서 참조 곡선을 계산한 다음 나머지 데이터와 함께 플롯하는 것입니다.
최상의,
TS
안녕,
그래프를 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 "사용자 지정"을 선택한 다음 "+" 아이콘을 클릭합니다. 여기에서 Y 함수( ) 함수를 사용하여 스크립트를 추가할 수 있습니다. 이 함수는 식(함수)과 도메인 변수(여기서는 x)의 2개 인수를 사용합니다.
확인을 클릭하면 완료됩니다.

이것은 또한 Y 함수( ) 함수가 있는 스크립팅을 통해 쉽게 수행할 수 있습니다. 여기서 계수 [2, 3, -5]에 해당하는 y = 2x^2 + 3x -5가 플롯됩니다. 여기서는 Horner의 규칙을 사용했습니다. 다음 그림에서 더 쉽게 만들 수 있기 때문입니다.
dt = astable(J(40,2,randominteger(-20,20)));
gb = dt << Graph Builder( Variables( X( :Col2 ), Y( :Col1 ) ), Elements( Points( X, Y, Legend( 3 ) ) ) );
report(gb)[framebox(1)] << add graphics script ( Y Function( (2 * x + 3) * x - 5, x ) );
한 가지 문제는 계수가 런타임에 결정될 수 있고 정수가 아닐 수 있으며 다항식의 차수가 알려지지 않을 수 있다는 것입니다. 이 경우 다음과 같은 것이 작동합니다.
dt = astable(J(40,2,randominteger(-20,20)));
gb = dt << Graph Builder(
Variables( X( :Col2 ), Y( :Col1 ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
);
// get random uniform coefficient matrix
coef = J(5, 1, randomuniform());
// build an expression using Horner's rule:
for each ( {v, i }, coef,// i = 1; v = coef[i];
if (i > 1,
fctExp = insert ( insert ( expr ( multiply ( ) ), nameExpr ( fctExp ) ), expr ( x ) );
,
fctExp = expr ( 0 );
);
fctExp = insert ( insert ( expr( add ( ) ), nameexpr( fctExp ) ), v );
);
// substitute into a graph script expressison and evaluate
graphAdd = expr (
report(gb)[framebox(1)] << add graphics script ( Y Function( _EXPRESSION_ , x ) )
);
eval ( substitute ( nameexpr(graphAdd), expr( _EXPRESSION_ ), nameexpr ( fctExp ) ) );
//show the expression in the log
show ( fctExp )

사용자 정의 기능을 통해 스크립트를 추가하라는 귀하의 초기 제안이 효과가 있었습니다. 감사합니다!
안녕.
Fit Y by X를 사용하여 데이터를 플로팅합니다.
미리 알려진 2차 방정식을 기준선으로 플롯하고 싶습니다(표시된 데이터에 맞추는 대신). 맞춤 특수, 선형을 사용하여 선형 맞춤에 대해 이것이 어떻게 수행되는지 볼 수 있습니다. 그런 다음 절편과 기울기를 어떤 값으로든 제한하지만 드롭다운 상자에서 2차(또는 더 높은 차수)를 선택하면 제한할 추가 계수를 입력할 수 있는 곳이 제공되지 않습니다.
대신 스크립트를 통해 할 수 있습니까? 그렇다면 형식은 무엇입니까?
많은 감사