<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요! 간단한 이동 평균을 스크립팅했지만 데이터 (기울기 변화 계산)를 수행해야하므로 데이터 테이블에 저장하려고합니다. 하지만 어떻게 대본을 쓰는가?
사면을 계산하는 방법에 대한 아이디어도 환영합니다! 내가 생각하고있는 것은 파생물을 단순히 지연 (ds / dt = (시간 지연 (시간, x)) / (위치 지연 (위치, x))으로 가져가는 것입니다.

짐, 고마워, 그 트릭을 한거야.
한편 수동으로 계산했지만 Jim의 솔루션을 사용합니다. 그리고 JoseGL, 나는 당신이 또한 사용할 수 있어야하는 다음 공식을 사용했습니다. 와이 ou는 Lag (: 변수, 인덱스)을 사용하여 행 인덱스를 나타낼 수 있습니다. 이 방법은 카운터 n을 원하는 값으로 변경할 수 있기 때문에 훨씬 유연합니다.

내 데이터에서 필자는 종종 500K 이상의 행을 가진 파일에서 매 200 행을 반복하는 행의 작은 섹션의 기울기를 계산해야하며, 일반적으로이 방법을 사용합니다.
1) 시퀀스를 사용하여 "행 시리즈"에 인공 마커 * [예 : 0 ~ 200] 추가
* 나는이 변수 측정 시간이라고 부른다.
2) 기울기 공식에 대한 X 및 Y 평균 길이 설정
3) IF 문을 사용하여 원하는 범위 또는 행의 기울기를 추정합니다.
4) [내 데이터에서] 모든 측정을 기울기로 수정합니다
이 스크립트는 내가 사용하는 스크립트이다. [크게 어렵게 코딩되었지만, 나를 위해 일을 마친다. ^ _ ^]
Y_Mean = Mean( :MA_T1[Row()], :MA_T1[Row() + 1], :MA_T1[Row() + 2], :MA_T1[Row() + 3], :MA_T1[Row() + 4], :MA_T1[Row() + 5], :MA_T1[Row() + 6], :MA_T1[Row() + 7], :MA_T1[Row() + 8], :MA_T1[Row() + 9], :MA_T1[Row() + 10], :MA_T1[Row() + 11], :MA_T1[Row() + 12], :MA_T1[Row() + 13], :MA_T1[Row() + 14] ); X_Mean = Mean( :Measurement time[Row()], :Measurement time[Row() + 1], :Measurement time[Row() + 2], :Measurement time[Row() + 3], :Measurement time[Row() + 4], :Measurement time[Row() + 5], :Measurement time[Row() + 6], :Measurement time[Row() + 7], :Measurement time[Row() + 8], :Measurement time[Row() + 9], :Measurement time[Row() + 10], :Measurement time[Row() + 11], :Measurement time[Row() + 12], :Measurement time[Row() + 13], :Measurement time[Row() + 14] ); If( :Measurement time == 1, Slope = ((:Measurement time[Row()] - X_Mean) * (:MA_T1[Row()] - Y_Mean) + (:Measurement time[Row() + 1] - X_Mean) * (:MA_T1[Row() + 1] - Y_Mean) + (:Measurement time[Row() + 2] - X_Mean) * (:MA_T1[Row() + 2] - Y_Mean) + (:Measurement time[Row() + 3] - X_Mean) * (:MA_T1[Row() + 3] - Y_Mean) + (:Measurement time[Row() + 4] - X_Mean) * (:MA_T1[Row() + 4] - Y_Mean) + (:Measurement time[Row() + 5] - X_Mean) * (:MA_T1[Row() + 5] - Y_Mean) + (:Measurement time[Row() + 6] - X_Mean) * (:MA_T1[Row() + 6] - Y_Mean) + ( :Measurement time[Row() + 7] - X_Mean) * (:MA_T1[Row() + 7] - Y_Mean) + (:Measurement time[Row() + 8] - X_Mean) * (:MA_T1[Row() + 8 ] - Y_Mean) + (:Measurement time[Row() + 9] - X_Mean) * (:MA_T1[Row() + 9] - Y_Mean) + (:Measurement time[Row() + 10] - X_Mean) * ( :MA_T1[Row() + 10] - Y_Mean) + (:Measurement time[Row() + 11] - X_Mean) * (:MA_T1[Row() + 11] - Y_Mean) + (:Measurement time[Row() + 12] - X_Mean) * (:MA_T1[Row() + 12] - Y_Mean) + (:Measurement time[Row() + 13] - X_Mean) * (:MA_T1[Row() + 13] - Y_Mean) + ( :Measurement time[Row() + 14] - X_Mean) * (:MA_T1[Row() + 14] - Y_Mean)) / ((:Measurement time[Row()] - X_Mean) ^ 2 + ( :Measurement time[Row() + 1] - X_Mean) ^ 2 + (:Measurement time[Row() + 2] - X_Mean) ^ 2 + (:Measurement time[Row() + 3] - X_Mean) ^ 2 + (:Measurement time[Row() + 4] - X_Mean ^ 2) + (:Measurement time[Row() + 5] - X_Mean) ^ 2 + (:Measurement time[Row() + 6] -X_Mean) ^ 2 + (:Measurement time[Row() + 7] - X_Mean) ^ 2 + (:Measurement time[Row() + 8] - X_Mean) ^ 2 + (:Measurement time[Row() + 9] - X_Mean) ^ 2 + (:Measurement time[Row() + 10] - X_Mean) ^ 2 + (:Measurement time[Row() + 11] - X_Mean) ^ 2 + ( :Measurement time[Row() + 12] - X_Mean) ^ 2 + (:Measurement time[Row() + 13] - X_Mean) ^ 2 + (:Measurement time[Row() + 14] -X_Mean) ^ 2) ); If( :Measurement time < 1, :MA_T1, :MA_T1 - Slope * :Measurement time );)
희망이 도움이,
누군가가 어떻게해야하는지 알고 있으면 알려주세요.

[즉, 변수의 실제 이름을 사용하지 않고 [user] - 주어진 변수의 이름을 아래 첨자]
-JoseGL
다음은 간단한 이동 평균을 스크립트의 데이터 테이블에 저장하는 방법을 보여주는 시계열 개체에 대한 도움말 ==> 스크립팅 인덱스에서 가져온 간단한 예제입니다.
기본 이름은 여기에있다. ( 1 ) ;
dt = 열다 ( '$ SAMPLE_DATA / Stock Prices.jmp' ) ;
obj = 시계열 (
와이 ( : 닫기 ) ,
단순한
이동 평균 ( 모델 추가 ( 5 ) )
) ;
결과 = obj <<
단순 이동 평균 ( 데이터 테이블에 저장 ) ;
경사면 계산에 대한 의견을 제시하지 않겠습니다.