/*
功能:线性内插算法
@input 输入数组
@inSize 输入的数组大小
@output 输出数组
@outSize 输出数组大小
注意:outSize > inSize
*/
IncSamp(input, inSize, output, outSize) {
for (var i = 0
var t = i / (outSize - 1) * (inSize - 1)
var index = parseInt(t)
var fraction = t - index
output[i] = parseInt(input[index] * (1 - fraction) + (input[index + 1] ? input[index + 1] : 0) *
fraction)
}
output[outSize - 1] = input[inSize - 1]
},
/*
功能:线性内减算法
@input 输入数组
@inSize 输入的数组大小
@output 输出数组
@outSize 输出数组大小
注意:outSize < inSize
*/
DecSamp(input, inSize, output, outSize) {
for (var i = 0
var t = i * (inSize - 1) / (outSize - 1)
var index = parseInt(t)
var fraction = t - index
output[i] = parseInt(input[index] * (1 - fraction) + (input[index + 1] ? input[index + 1] : 0) *
fraction)
}
},
调用
let arr = [0, 24, 12, 0, 20, 15]
let rawData = []
let rawData1 = []
this.IncSamp(arr, arr.length, rawData, 10)
this.DecSamp(arr, arr.length, rawData1, 5)
console.log(rawData)
console.log(rawData1)