w-statistic
Version:
A tool for statistical analysis.
228 lines (215 loc) • 5.04 kB
JavaScript
import regMpLine from './src/regMpLine.mjs'
import _ from 'lodash-es'
async function test() {
let arrX
let arrY
let r
arrX = [
[],
[],
[],
[],
]
arrY = [
[],
[],
[],
[],
]
r = await regMpLine(arrX, arrY)
console.log(r)
// => {
// coes: [
// [ 2.0000000000000515 ],
// [ -1.4210854715202004e-14 ],
// [ 3.552713678800501e-15 ]
// ],
// m1: 2.0000000000000515,
// m2: -1.4210854715202004e-14,
// b: 3.552713678800501e-15
// }
arrX = [
[],
[],
[],
[],
]
arrY = [
[],
[],
[],
[],
]
r = await regMpLine(arrX, arrY)
console.log(r)
// => {
// coes: [
// [ 2.0000000000000515, 3.552713678800501e-14 ],
// [ -1.4210854715202004e-14, 1.9999999999999716 ],
// [ 3.552713678800501e-15, 0 ]
// ],
// m11: 2.0000000000000515,
// m21: 3.552713678800501e-14,
// m12: -1.4210854715202004e-14,
// m22: 1.9999999999999716,
// b1: 3.552713678800501e-15,
// b2: 0
// }
arrX = [
[],
[],
[],
[],
]
arrY = [
[],
[],
[],
[],
]
r = await regMpLine(arrX, arrY)
console.log(r)
// => {
// coes: [
// [ 2.0000000000000515, 3.552713678800501e-14, 1.0000000000000426 ],
// [ -1.4210854715202004e-14, 1.9999999999999716, 0.9999999999999591 ],
// [ 3.552713678800501e-15, 0, 7.105427357601002e-15 ]
// ],
// m11: 2.0000000000000515,
// m21: 3.552713678800501e-14,
// m31: 1.0000000000000426,
// m12: -1.4210854715202004e-14,
// m22: 1.9999999999999716,
// m32: 0.9999999999999591,
// b1: 3.552713678800501e-15,
// b2: 0,
// b3: 7.105427357601002e-15
// }
arrX = [
[],
[],
[],
[],
]
arrY = [
[],
[],
[],
[],
]
r = await regMpLine(arrX, arrY, { useRegIntercept: false }) //不使用截距, 也就是截距b=0
console.log(r)
// => {
// coes: [ [ 1.9999999999999716 ], [ 1.4210854715202004e-14 ] ],
// m1: 1.9999999999999716,
// m2: 1.4210854715202004e-14,
// b: 0
// }
arrX = [
[],
[],
[],
[],
]
arrY = [
[],
[],
[],
[],
]
r = await regMpLine(arrX, arrY, { interpX: [0, 0] })
console.log(r)
// => {
// coes: [
// [ 2.0000000000000515 ],
// [ -1.4210854715202004e-14 ],
// [ 3.552713678800501e-15 ]
// ],
// m1: 2.0000000000000515,
// m2: -1.4210854715202004e-14,
// b: 3.552713678800501e-15,
// interpX: [ 0, 0 ],
// interpY: [ 3.552713678800501e-15 ]
// }
arrX = [
[],
[],
[],
[],
]
arrY = [
[],
[],
[],
[],
]
r = await regMpLine(arrX, arrY, { interpX: [100, 0] })
console.log(r)
// => {
// coes: [
// [ 2.0000000000000515 ],
// [ -1.4210854715202004e-14 ],
// [ 3.552713678800501e-15 ]
// ],
// m1: 2.0000000000000515,
// m2: -1.4210854715202004e-14,
// b: 3.552713678800501e-15,
// interpX: [ 100, 0 ],
// interpY: [ 200.00000000000514 ]
// }
arrX = [
[],
[],
[],
[],
]
arrY = [
[],
[],
[],
[],
]
r = await regMpLine(arrX, arrY, { interpX: [0, 100] })
console.log(r)
// => {
// coes: [
// [ 2.0000000000000515 ],
// [ -1.4210854715202004e-14 ],
// [ 3.552713678800501e-15 ]
// ],
// m1: 2.0000000000000515,
// m2: -1.4210854715202004e-14,
// b: 3.552713678800501e-15,
// interpX: [ 0, 100 ],
// interpY: [ -1.4175327578413999e-12 ]
// }
arrX = [
[],
[],
[],
[],
]
arrY = [
[],
[],
[],
[],
]
r = regMpLine(arrX, arrY, { useSync: true }) //使用同步函數(sync)
console.log(r)
// => {
// coes: [
// [ 2.0000000000000515 ],
// [ -1.4210854715202004e-14 ],
// [ 3.552713678800501e-15 ]
// ],
// m1: 2.0000000000000515,
// m2: -1.4210854715202004e-14,
// b: 3.552713678800501e-15
// }
}
test()
.catch((err) => {
console.log(err)
})
//node g.regMpLine.mjs