UNPKG

w-statistic

Version:
228 lines (215 loc) 5.04 kB
import regMpLine from './src/regMpLine.mjs' import _ from 'lodash-es' async function test() { let arrX let arrY let r arrX = [ [0, 0], [1, 2], [2, 3], [3, 4], ] arrY = [ [0], [2], [4], [6], ] 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 = [ [0, 0], [1, 2], [2, 3], [3, 4], ] arrY = [ [0, 0], [2, 4], [4, 6], [6, 8], ] 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 = [ [0, 0], [1, 2], [2, 3], [3, 4], ] arrY = [ [0, 0, 0], [2, 4, 3], [4, 6, 5], [6, 8, 7], ] 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 = [ [0, 0], [1, 2], [2, 3], [3, 4], ] arrY = [ [0], [2], [4], [6], ] 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 = [ [0, 0], [1, 2], [2, 3], [3, 4], ] arrY = [ [0], [2], [4], [6], ] 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 = [ [0, 0], [1, 2], [2, 3], [3, 4], ] arrY = [ [0], [2], [4], [6], ] 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 = [ [0, 0], [1, 2], [2, 3], [3, 4], ] arrY = [ [0], [2], [4], [6], ] 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 = [ [0, 0], [1, 2], [2, 3], [3, 4], ] arrY = [ [0], [2], [4], [6], ] 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