Chebfun

Chebfun
Utvecklare Chebfun-teamet, University of Oxford
Stabil frisättning
v5.7.0 / 2 juni 2017
Förvar
Skrivet i MATLAB
Typ Numerisk programvara
Licens BSD
Hemsida www .chebfun .org

Chebfun är ett mjukvarusystem med gratis/öppen källkod skrivet i MATLAB för numerisk beräkning med funktioner av en verklig variabel. Den bygger på idén att överbelasta MATLAB:s kommandon för vektorer och matriser till analoga kommandon för funktioner och operatorer. Således, till exempel, medan SUM-kommandot i MATLAB lägger ihop elementen i en vektor, utvärderar SUM-kommandot i Chebfun en bestämd integral. På liknande sätt blir backslash-kommandot i MATLAB ett Chebfun-kommando för att lösa differentialekvationer.

Den matematiska grunden för Chebfun är numeriska algoritmer som involverar bitvis polynominterpolanter och Chebyshev-polynom , och det är härifrån namnet "Cheb" kommer. Paketet syftar till att kombinera känslan av symboliska datorsystem som Maple och Mathematica med hastigheten hos flyttalsnumeriska.

Chebfun-projektet är baserat på Mathematical Institute vid University of Oxford och initierades 2002 av Lloyd N. Trefethen och hans student Zachary Battles. Den senaste versionen, version 5.7.0, släpptes den 2 juni 2017.

Chebfun2, ett mjukvarusystem som utökar Chebfun till två dimensioner, gjordes allmänt tillgängligt den 4 mars 2013. Efter Chebfun2 gjordes Spherefun (förlängning av enhetssfären) och Chebfun3 (förlängning till tre dimensioner) offentligt tillgängliga i maj och juli 2016.

Funktioner

  • Approximation av funktioner i 1D, inklusive funktioner med hopp
  • Approximation av jämna bivariata funktioner (Chebfun2)
  • Approximation av jämna trivariatfunktioner (Chebfun3)
  • Approximation av smidiga funktioner på enhetssfären (Spherefun)
  • Kvadratur
  • Rootfinding
  • 1D global optimering
  • Bivariat och trivariat rotfinnande
  • Vanliga differentialekvationer
  • Partiella differentialekvationer
  • Vektorkalkyl

Exempel användning

En användare kan börja med att initiera variabeln x, på intervallet [0,10], säg.

   0 >>  x  =  chebfun  (  'x'  ,[  ,  10  ]); 

Denna variabel kan nu användas för att utföra ytterligare beräkningar, till exempel beräkning och plottning av rötter för en funktion:

       
         >>  f  =  sin  (  x  )  +  sin  (  x  .^  2  );  plot  (  f  )  >>  r  =  rötter  (  f  );  håll  ut,  plot(r,f(r),'.r'),  håll  ut 

ChebExampleRoots.png

Den bestämda integralen kan beräknas med:

  
 
     >>  summa  (  f  )  ans  =  2,422742429006079 

externa länkar