mathx
arrange()
등차수열 형태의 숫자 배열을 생성합니다.
사용 형식
arrange(start, end, step)매개변수
startNumber시작값endNumber종료값stepNumber증가 폭
반환값
Array<Number> 생성된 숫자 배열.
사용 예시
| |
linspace()
지정한 구간을 균등 간격으로 분할한 배열을 생성합니다.
사용 형식
linspace(start, end, count)매개변수
startNumber시작값endNumber종료값countNumber생성할 요소 개수
반환값
Array<Number> 생성된 숫자 배열.
사용 예시
| |
meshgrid()
두 배열의 조합을 기반으로 격자를 생성합니다.
사용 형식
meshgrid(arr1, arr2)매개변수
arr1Array<Number>첫 번째 배열arr2Array<Number>두 번째 배열
반환값
``Array<Array
사용 예시
| |
oscillator()
Since v8.5.5[time, value] 튜플 형태의 진동 샘플 데이터를 생성합니다.
사용 형식
oscillator(options)매개변수
optionsObjectoptions.componentsObject[]필수. 합성할 진동 성분 목록amplitudeNumber필수. 진폭frequencyHzNumber필수. 주파수(Hz)phaseRadNumber선택. 위상 오프셋(라디안), 기본값0biasNumber선택. DC 오프셋, 기본값0
options.timeRangeObject필수. 시간 범위fromAny필수toAny필수- 지원 시간 표현:
- 숫자 epoch ns (예:
0,10000000000) - 접미사 epoch 문자열:
s,ms,us,ns(예:"10s","10000ms") - 문자열 시간 표현:
"now","now-10s" - RFC3339/RFC3339Nano 문자열
- 숫자 epoch ns (예:
options.sampleNumber|String선택- 숫자: 샘플 개수로 해석
Hz/hz접미사 문자열: 샘플링 주파수로 해석 (예:"2Hz")
options.noiseNumber|Object선택- 숫자: 노이즈 진폭으로 해석
- 객체:
{ amplitude, seed? }형식이며amplitude는 노이즈 세기,seed는 재현 가능한 노이즈를 위한 시드입니다.
반환값
Array<[time, Number]> 생성된 샘플 배열.
사용 예시
| |
series()
Since v8.5.5[time, value] 튜플 샘플 배열을 시간 배열과 값 배열로 분리합니다.
사용 형식
series(samples, options)매개변수
samplesArray<[time, Number]>튜플 샘플 배열optionsObject선택xKeyStringx축 배열 키 이름, 기본값"time"yKeyStringy축 배열 키 이름, 기본값"value"
반환값
두 개의 배열을 담은 Object를 반환합니다. 기본 형태는 { time, value }입니다.
사용 예시
const m = require("mathx");
const gen = m.oscillator({
components: [{ amplitude: 1.0, frequencyHz: 0.1 }],
timeRange: { from: "0s", to: "10s" },
sample: 5,
});
const s = m.series(gen);
console.log(s.time.length); // 5
console.log(s.value.length); // 5
const custom = m.series(gen, { xKey: "ts", yKey: "amp" });
console.log(custom.ts.length); // 5
console.log(custom.amp.length); // 5
unzip()
Since v8.5.5튜플 샘플 배열을 두 개의 배열로 분리합니다.
사용 형식
unzip(samples)매개변수
samplesArray<[x, y]>튜플 샘플 배열
반환값
[Array<x>, Array<y>]
사용 예시
const m = require("mathx");
const [x, y] = m.unzip([[1, 10], [2, 20], [3, 30]]);
console.log(x); // [1, 2, 3]
console.log(y); // [10, 20, 30]
zip()
Since v8.5.5두 개의 배열을 튜플 샘플 배열로 합칩니다.
사용 형식
zip(x, y)매개변수
xArray<any>x축 데이터 배열yArray<any>y축 데이터 배열 (x와 길이가 같아야 함)
반환값
Array<[x, y]>
사용 예시
const m = require("mathx");
const samples = m.zip([1, 2, 3], [10, 20, 30]);
console.log(samples[0]); // [1, 10]
fft()
고속 푸리에 변환(FFT)을 수행하여 주파수 성분을 분석합니다.
입력은 두 가지 형식을 지원하며, 결과는 [frequency, amplitude] 형태의 배열로 반환됩니다.
사용 형식
fft(times, amplitudes) // 시간 배열과 진폭 배열
fft(timesAndAmplitudes) // [time, amplitude] 배열
fft(times, amplitudes)times와amplitudes를 각각 별도의 배열로 전달합니다.fft(timesAndAmplitudes)[time, amplitude]쌍으로 이루어진 배열을 전달합니다.
times와 amplitudes를 별도 배열로 전달하는 경우, 두 배열의 길이는 반드시 같아야 합니다.
반환 값
Array<[frequency, amplitude]> 주파수와 진폭 쌍의 배열.
사용 예시
const m = require("mathx");
const gen = m.oscillator({
components: [
{amplitude: 1.0, frequencyHz: 15},
{amplitude: 1.5, frequencyHz: 24},
],
timeRange: {from: 'now', to: 'now+10s'},
sample: "1000Hz",
});
// gen is array of tuple (time, amplitude)
// ffp() accepts array of (time, amplitude)
// and returns array of (frequency, amplitude)
const result = m.fft(gen);
for(i=0; i < result.length; i++) {
console.println(i, result[i][0], result[i][1]);
}sort()
배열을 오름차순으로 정렬합니다.
사용 예시
| |
sum()
배열의 합계를 계산합니다.
사용 예시
| |
cdf()
누적 분포 함수(CDF)를 계산합니다. 주어진 x 데이터에서 q 이하인 비율을 반환합니다.
사용 형식
cdf(q, x, weights)qNumber기준 값xArray<Number>오름차순으로 정렬된 데이터weightsArray<Number>가중치 배열(생략 시 모두 1, 지정 시x와 길이가 같아야 합니다.)
사용 예시
| |
mean()
산술 평균을 계산합니다.
사용 예시
| |
circularMean()
라디안 각도와 같이 순환하는 값을 대상으로 평균을 구합니다. 가중치 배열을 지정할 수도 있습니다.
사용 예시
| |
correlation()
두 데이터셋 간 피어슨 상관 계수를 계산합니다. -1~1 범위이며 가중치를 지정할 수도 있습니다.
사용 예시
| |
covariance()
두 데이터셋 간 공분산을 계산합니다. 양수면 함께 증가하는 경향, 음수면 반대로 움직이는 경향을 의미합니다.
사용 예시
| |
entropy()
샤논 엔트로피를 계산해 분포의 불확실성을 측정합니다.
사용 예시
| |
geometricMean()
양수 배열의 기하 평균을 계산합니다.
사용 예시
| |
harmonicMean()
양수 배열의 조화 평균을 계산합니다.
사용 예시
| |
median()
정렬된 배열의 중앙값을 반환합니다. 짝수 개라면 두 중앙값의 평균을 돌려줍니다.
입력 배열은 오름차순으로 정렬되어 있어야 합니다.
사용 예시
| |
medianInterp()
median과 동일하지만, 선형 보간을 적용한 값을 반환합니다.
사용 예시
| |
quantile()
The quantile function calculates the quantile of a given dataset for a specified probability.
Quantiles divide the dataset into intervals with equal probabilities, such as quartiles (4 intervals) or percentiles (100 intervals).
This function is useful for understanding the distribution of data.
사용 형식
quantile(p, x, weights)pNumberxArray<Number>Thexdata must be sorted in increasing order.weightsArray<Number>If weights is not specified then all of the weights are 1. If weights is specified, then length ofxmust equal length ofweights.
사용 예시
| |
quantileInterp()
quantile과 동일하지만 선형 보간 값을 반환합니다.
사용 형식
quantileInterp(p, x, weights)pNumber백분위 비율xArray<Number>정렬된 데이터weightsArray<Number>가중치 배열(선택)
사용 예시
| |
meanStdDev()
평균과 표준편차를 동시에 계산합니다.
사용 예시
| |
mode()
최빈값을 계산합니다. 결과는 {value: number, count: number} 형태입니다.
사용 형식
mode(x, weights)xArray<Number>정렬된 데이터weightsArray<Number>가중치 배열(선택)
사용 예시
| |
moment()
n차 모멘트를 계산합니다. 분포 형태(왜도·첨도 등)를 분석할 때 사용합니다.
사용 예시
| |
stdDev()
표준편차를 계산합니다.
사용 예시
| |
stdErr()
표본 평균의 표준 오차를 계산합니다. 표준편차를 표본 크기의 제곱근으로 나눈 값입니다.
사용 예시
| |
linearRegression()
두 데이터셋을 대상으로 선형 회귀를 수행합니다. 결과는 y = alpha*x + beta 형태의 {slope: alpha, intercept: beta}입니다.
사용 예시
| |