numerical-methods
Version:
A library that I made while studying Computer Science at UFPB. Documentation's available through TypeScript.
2 lines (1 loc) • 1.09 kB
JavaScript
import{b as g}from"./chunk-DBXCRABM.js";import{a as x}from"./chunk-EI7MMDWY.js";import{isOdd as h,range as f}from"@hyoretsu/utils";import{derivative as o,evaluate as m}from"mathjs";var D={func:"string",pointN:"number",x:"[number,number]"},I=x(({func:i,pointN:u,x:t})=>{let s=u-1,n=(t[1]-t[0])/s,a=[...f(t[0],t[1],n),t[1]].map(r=>m(i,{x:r})),c=a.reduce((r,l,e)=>e===0||e===a.length-1?r+l:r+2*l,0);c*=n/2;let p=o(o(i,"x"),"x").toString(),{result:{interval:[d]}}=g({func:p,interval:[t[0],t[1]],target:"max",precision:1e-12,options:{maxIterations:1e3}}),v=n**3/(12*s**2)*Math.abs(m(p,{x:d}));return{result:c,details:{error:v}}},"trapezoidalRule"),R=x(({func:i,pointN:u,x:t})=>{let s=u-1,n=(t[1]-t[0])/s,a=[...f(t[0],t[1],n),t[1]].map(r=>m(i,{x:r})),c=a.reduce((r,l,e)=>e===0||e===a.length-1?r+l:r+l*(h(e)?4:2),0);c*=n/3;let p=o(o(o(o(i,"x"),"x"),"x"),"x").toString(),{result:{interval:[d]}}=g({func:p,interval:t,target:"max",precision:1e-12,options:{maxIterations:1e3}}),v=n**5/(180*s**2)*Math.abs(m(p,{x:d}));return{result:c,details:{error:v}}},"simpsonRule13");export{D as a,I as b,R as c};