{"_id":"@behaver/unary-solver","_rev":"2-77e3e7cd5947133dcf550036c5bc83b8","name":"@behaver/unary-solver","dist-tags":{"latest":"1.1.0"},"versions":{"1.1.0":{"name":"@behaver/unary-solver","version":"1.1.0","description":"The pkg is builded for solving unary function.","main":"index.js","directories":{"test":"test"},"scripts":{"test":"mocha test"},"repository":{"type":"git","url":"git+https://github.com/behaver/unary-solver.git"},"keywords":["unary","solver"],"author":{"name":"Sanwan, Dong"},"license":"ISC","bugs":{"url":"https://github.com/behaver/unary-solver/issues"},"homepage":"https://github.com/behaver/unary-solver#readme","devDependencies":{"@behaver/celestial-coordinate":"^1.7.0","@behaver/jdate":"^2.3.2","@behaver/solar-star-coordinate":"^1.0.7","chai":"^4.2.0","mocha":"^6.1.2"},"gitHead":"f8de3758e0302439fdb8d15a60e7557820f212fb","_id":"@behaver/unary-solver@1.1.0","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"behaver","email":"qianxing@yeah.net"},"dist":{"integrity":"sha512-0II6Zddj4jmn89l248QovsOwl5oZqILCPMGG7PF3Lz5nDIKEPf55fbJfvnqj0vx1IsT3G5ORWcYA+TMhNEA3/A==","shasum":"949023f5350365be917f0eae65e84707470d3aa8","tarball":"https://registry.npmjs.org/@behaver/unary-solver/-/unary-solver-1.1.0.tgz","fileCount":5,"unpackedSize":9544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcyCY8CRA9TVsSAnZWagAAsUoP/iwI75sSpvWTuSgoDlYx\n44CVi/s7lX3T2y9uAq3508LvEsSX1bCazZARPHKA/0e0K3Cp3sawb21usOh3\neyFRzRU8Xj5i3nQqSoVAYFZt/wQwPGDcE4cSESyaU1SW3Gc0P6hv4S07yOk8\nAvT6YBWDlsN012HxZo9iuzAEIsBXo7b34nFGmRVc50/rRuMhxpHotvFkKFXP\nj+1e3RvdzY2X9YG/yzkxoI/YSlavyBFHJkXf+m0GbCxp5PP/faCu5KARoS7o\nUcngPKhLTYDE7iyugQstZ45OEfUJd88Rc4dKS9Fxc7mT1QO3WpJzFM67ORwx\ngacVBC9A311dw8ewTs2VE4e7gn0/yUuU9gQoReB4S60t0j4Zo21/LJdTCqfH\nMeuCb/XUICQTBF453PDMmL3W344nLpg2VuVryvmwaWW4TBSm9zBwBa4dtruf\nMu9jRWN6t++SSOd7CKydWTJ3zLbpUHnqr9nDvohfyRZg2SfLOqWDw0syzeWE\nYA25FLo7BY9sNJn+eY2EiO4d83j2SjpsxlqtAoI5/rJa3ItivYa2pIs20uQb\n5tpvOsiRHdL34iFZwHPYb5ymQsNXQEy/MOup8ZLVH85wpiuF9NpSatsHA26E\nizogKgIVqHt+1UrHD7gaAx/3KnF56JByO6DtHV0zH5DpL93nH+CQIGdHK6Nh\n3Wqd\r\n=XdgW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE6VdeFvwFsA52OvdHOLnqHRF3ypgyCFHbP6844i3w9DAiEA2wAKI82hkWrEslEXGfUJRXd4aU78g1H0tcFyUmAgjN0="}]},"maintainers":[{"name":"behaver","email":"qianxing@yeah.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/unary-solver_1.1.0_1556620860208_0.2920715577710078"},"_hasShrinkwrap":false,"deprecated":"deprecate"}},"time":{"created":"2019-04-30T10:41:00.003Z","1.1.0":"2019-04-30T10:41:00.305Z","modified":"2022-04-04T18:12:42.532Z"},"maintainers":[{"name":"behaver","email":"qianxing@yeah.net"}],"description":"The pkg is builded for solving unary function.","homepage":"https://github.com/behaver/unary-solver#readme","keywords":["unary","solver"],"repository":{"type":"git","url":"git+https://github.com/behaver/unary-solver.git"},"author":{"name":"Sanwan, Dong"},"bugs":{"url":"https://github.com/behaver/unary-solver/issues"},"license":"ISC","readme":"# UnarySolver\n\n[![GitHub license](https://img.shields.io/badge/license-MIT-brightgreen.svg)](#) [![npm version](https://img.shields.io/npm/v/react.svg?style=flat)](https://www.npmjs.com/package/@behaver/unary-solver) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](#)\n\n## 简介\n\nUnarySolver 是一个用于对一元连续函数局部求解的数学工具组件。\n\n## 安装\n\n通过 npm 安装，在你的 node 项目目录下执行：\n\n`npm install @behaver/unary-solver`\n\n安装完成后，调用即可：\n\n`const { NewtonUnarySolver } = require('@behaver/unary-solver');`\n\n## 用例\n\n```js\nconst { HorizontalCoordinate, SystemSwitcher } = require('@behaver/celestial-coordinate');\nconst { JDateRepository } = require('@behaver/jdate');\n\nconst { NewtonUnarySolver } = require('../index');\n\n/* 利用牛顿求解法，计算黄道圈与地平圈的上升交点 */\n\nlet obGeoLong = -124.23,\n    obGeoLat = 40.08,\n    centerMode = 'geocentric',\n    epoch = new JDateRepository(new Date(1992, 7, 15, 8, 25), 'date');\n\n// 构造用于求解的原始一元函数\nlet unaryFunc = function(a) {\n  let HC = new HorizontalCoordinate({\n        a,\n        h: 0,\n        obGeoLong,\n        obGeoLat,\n        obTime: epoch,\n        centerMode,\n      }),\n      SS = new SystemSwitcher(HC),\n      ECC = SS.to('ecc');\n\n  return ECC.b.getDegrees();\n}\n\n// 实例化牛顿线性求解器\nlet NLSolver = new NewtonUnarySolver({\n  primitiveFunction: unaryFunc,\n  originalX: 270,\n  differentialX: 0.0003, // < 1分钟\n  terminationError: 0.0002, // < 1″\n});\n\n// 执行求解\nNLSolver.solve();\n\n// 输出解出的 x、y 值\nconsole.log(NLSolver.x, NLSolver.y);\n```\n\n## API\n\n`constructor(options)`\n\n构造函数：\n\n* options.primitiveFunction 原函数\n* options.originalX         x 初始值\n* options.differentialX     x 微分值\n* options.terminationError  终止误差\n* options.maxCycle          最大循环次数\n\n`set primitiveFunction(value)`\n\n设定 原函数\n\n`get primitiveFunction()`\n\n获取 原函数\n\n`set originalX(value)`\n\n设定 初始 x 值\n\n`get originalX()`\n\n获取 初始 x 值\n\n`set differentialX(value)`\n\n设定 微分 x 值\n\n`get differentialX()`\n\n获取 微分 x 值\n\n`set terminationError(value)`\n\n设定 终止误差\n\n`get terminationError()`\n\n获取 终止误差\n\n`set maxIteration(value)`\n\n设定 最大迭代次数\n\n`get maxIteration()`\n\n获取 最大循环次数\n\n`get stepNum()`\n\n获取 求解过程迭代次数\n\n`get x()`\n\n获取 当前 x 值\n\n`get y()`\n\n获取 当前 y 值\n\n`get gradient()`\n\n获取 当前梯度值\n\n`solve()`\n\n求解函数\n\n## 许可证书\n\nThe MIT license.","readmeFilename":"readme.md"}