You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
Chebfun - current version
Editor's Note: This file was selected as MATLAB Central Pick of the Week
Chebfun is an open-source software system for numerical computing with functions. The mathematical basis is piecewise polynomial interpolation implemented with what we call “Chebyshev technology”. The foundations are described, with Chebfun examples, in the book Approximation Theory and Approximation Practice (L. N. Trefethen, SIAM 2013). Chebfun has extensive capabilities for dealing with linear and nonlinear differential and integral operators, and also includes continuous analogues of linear algebra notions like QR and singular value decomposition. The Chebfun2 extension works with functions of two variables defined on a rectangle in the x-y plane.
Most Chebfun commands are overloads of familiar MATLAB commands — for example sum(f) computes an integral, roots(f) finds zeros, and u = L\f solves a differential equation.
To get a sense of the breadth and power of Chebfun, a good place to start is by looking at our Examples (http://www.chebfun.org/examples/) or the introductory Guide (http://www.chebfun.org/docs/guide/).
Please contact us with any questions/comments at help@chebfun.org.
Cite As
Chebfun Team (2023). Chebfun - current version (https://github.com/chebfun/chebfun), GitHub. Retrieved .
Requires
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- MATLAB > Mathematics > Numerical Integration and Differential Equations >
- Mathematics and Optimization > Partial Differential Equation Toolbox > Domain-Specific Modeling > Structural Mechanics >
Acknowledgements
Inspired by: Chebfun V4 - old version; please download current version instead
Inspired: FindRoots, MATLAB Derivatives Pricing, TDIST
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
- aaa
- aaatrig
- abstractQR
- ATAPformats
- bary
- barymat
- baryWeights
- besselroots
- blowup
- cheb2jac
- cheb2leg
- cheb2logo
- chebcoeffs2chebvals
- chebcoeffs2legcoeffs
- chebcoeffs2legvals
- chebfun2eps
- chebfun3eps
- chebfuneps
- chebfunroot
- chebguiEdit
- chebguiWindow
- chebkind
- cheblogo
- chebpoly
- chebpolyplot
- chebpolyval
- chebpolyvalm
- chebpts
- chebpts2
- chebpts3
- chebsnake
- chebsnake2
- chebtest
- chebvals2chebcoeffs
- chebvals2chebvals
- chebvals2legcoeffs
- chebvals2legvals
- chebvar
- conformal
- conformal2
- Contents.m
- cumsummat
- dfsroot
- dfstest
- diffbarytrig
- diffmat
- diffrow
- explain
- fov
- gammaratio
- gpr
- gridsample
- hermpoly
- hermpts
- intmat
- introw
- isSubset
- jac2cheb
- jac2jac
- jacpoly
- jacpts
- lagpoly
- lagpts
- lebesgue
- leg2cheb
- legcoeffs2chebcoeffs
- legcoeffs2chebvals
- legcoeffs2legvals
- legpoly
- legpts
- legvals2chebcoeffs
- legvals2chebvals
- legvals2legcoeffs
- lobpts
- minimax
- ODEformats.m
- outerProd
- padeapprox
- paduapts
- pdeset
- pdeset
- phaseplot
- phaseplot
- prz
- prz
- prztrig
- prztrig
- pswf
- pswf
- pswfpts
- pswfpts
- quasimatrix
- quasimatrix
- radaupts
- radaupts
- randnfun
- randnfun
- randnfun2
- randnfun2
- randnfundisk
- randnfundisk
- randnfunsphere
- randnfunsphere
- ratinterp
- ratinterp
- resampling
- resampling
- reval
- reval
- revaltrig
- revaltrig
- scribble
- scribble
- scribble2
- scribble2
- seedRNG
- seedRNG
- sing
- sing
- smoothie
- smoothie
- spin
- spin
- spin2
- spin2
- spin3
- spin3
- spincomp
- spincomp
- spinsphere
- spinsphere
- splitting
- splitting
- standardChop
- standardChop
- trigBary
- trigBary
- trigBaryWeights
- trigBaryWeights
- trigdouble
- trigdouble
- trigpoly
- trigpoly
- trigpts
- trigpts
- trigratinterp
- trigratinterp
- ultra2ultra
- ultra2ultra
- ultracoeffs
- ultracoeffs
- ultrapoly
- ultrapoly
- ultrapts
- ultrapts
- VAeval
- VAorthog
+cheb
- bernoulli
- bspline
- choreo
- choreosphere
- gallery
- gallery2
- gallery3
- galleryball
- gallerydisk
- gallerysphere
- gallerytrig
- normal2
- readme
- revolution
- x
- xy
- xyz
- xyzsphere
- xyzsphere
@adchebfun
@adchebfun2
@ballfun
- abs
- ballfun
- coeffs2vals
- coeffs3
- compose
- conj
- constructor
- cos
- cosh
- diff
- diskfun
- disp
- display
- exp
- feval
- fevalm
- get
- grad
- gradient
- helmholtz
- imag
- integral
- isempty
- isequal
- iszero
- lap
- laplacian
- log
- mean
- mean2
- mean3
- minus
- mrdivide
- mtimes
- norm
- plot
- plotcoeffs
- plus
- poisson
- power
- projectOntoBMCIII
- real
- rotate
- sample
- scan
- simplify
- sin
- sinh
- size
- slice
- solharm
- spherefun
- sqrt
- subsref
- sum
- sum2
- sum3
- surf
- tan
- tanh
- times
- uminus
- uplus
- vals2coeffs
- vertcat
- vscale
@ballfunv
- ballfunv
- conj
- cross
- curl
- disp
- display
- div
- divergence
- dot
- feval
- fevalm
- get
- HelmholtzDecomposition
- imag
- isempty
- isequal
- iszero
- laplacian
- minus
- mrdivide
- mtimes
- norm
- plus
- power
- PT2ballfunv
- PTdecomposition
- quiver
- quiver3
- real
- size
- subsref
- times
- uminus
- uplus
@blockCoeff
@blockFunction
@bndfun
- bndfun
- changeMap
- circconv
- compose
- conv
- createMap
- cumsum
- diff
- feval
- flipud
- fracInt
- innerProduct
- make
- mldivide
- mrdivide
- plotData
- poly
- qr
- restrict
- sum
@chebcolloc
@chebcolloc1
@chebcolloc2
@chebdouble
@chebfun
- abs
- acos
- acosd
- acosh
- acot
- acotd
- acoth
- acsc
- acscd
- acsch
- addBreaks
- addBreaksAtRoots
- airy
- all
- and
- angle
- any
- arcLength
- area
- arrowplot
- asec
- asecd
- asech
- asin
- asind
- asinh
- assignColumns
- atan
- atan2
- atan2d
- atand
- atanh
- besselh
- besseli
- besselj
- besselk
- bessely
- bvp4c
- bvp5c
- cat
- ceil
- cell2quasi
- cf
- changeTech
- cheb2cell
- cheb2quasi
- chebcoeffs
- chebellipseplot
- chebfun
- chebpade
- chebpoly
- chebtune
- circconv
- clearPointValues
- comet
- comet3
- complex
- compose
- cond
- conj
- constructODEsol
- constructor
- conv
- cos
- cosd
- cosh
- cot
- cotd
- coth
- cov
- csc
- cscd
- csch
- ctranspose
- cummax
- cummin
- cumprod
- cumsum
- cylinder
- dct
- define
- defineInterval
- definePoint
- deflationFun
- deriv
- diag
- diff
- dimCheck
- dirac
- disp
- dispData
- display
- dlt
- domain
- domainCheck
- dst
- eigs.m
- ellipj
- ellipke
- end
- eq
- erf
- erfc
- erfcinv
- erfcx
- erfinv
- exp
- expm.m
- expm1
- extractColumns
- feval
- fill
- find
- fix
- fliplr
- flipud
- floor
- fracDiff
- fracInt
- fred
- fzero
- gamma
- ge
- get
- getRootsForBreaks
- getValuesAtBreakpoints
- gmres
- gt
- heaviside
- horzcat
- hscale
- hypot
- idct
- idlt
- idst
- imag
- innerProduct
- integral
- interp1
- inufft
- inv
- isdelta
- isempty
- isequal
- isfinite
- ishappy
- isinf
- isnan
- isPeriodicTech
- isQuasi
- isreal
- issing
- iszero
- jaccoeffs
- join
- jump
- kron
- lagrange
- ldivide
- le
- legcoeffs
- length
- log
- log10
- log1p
- log2
- logical
- loglog
- lt
- lu
- mat2cell
- max
- mean
- measure
- merge
- mesh
- min
- minandmax
- minus
- mldivide
- mod
- movie
- mpower
- mrdivide
- mtimes
- nchoosek
- ndct
- ne
- newDomain
- nextpow2
- norm
- normal
- normest
- not
- nufft
- nufft2
- null
- num2cell
- numColumns
- ode113
- ode15s
- ode45
- ode78
- ode89
- odesol
- or
- orth
- overlap
- parsePlotStyle
- pchip
- pde15s
- pde23t
- pdeSolve
- permute
- pinv
- plot
- plot3
- plotcoeffs
- plotData
- plotregion
- plus
- poly
- polyfit
- polyfitL1
- polyval
- pow2
- power
- prod
- qr
- quad
- quantumstates
- quasi2cheb
- range
- rank
- rdivide
- real
- reallog
- realpow
- realsqrt
- rem
- remez
- removeDeltas
- repmat
- residue
- restrict
- roots
- round
- sample
- sec
- secd
- sech
- semilogx
- semilogy
- sign
- simplify
- sin
- sinc
- sind
- sinh
- size
- sound
- spline
- spy
- sqrt
- std
- subsasgn
- subspace
- subsref
- sum
- surf
- surface
- surfc
- svd
- tan
- tand
- tanh
- thresholdBreakpointValues
- times
- tolUnion
- tolUnique
- transpose
- trigcoeffs
- trigpade
- trigremez
- truncate
- tweakDomain
- uminus
- unwrap
- update
- uplus
- vander
- var
- vertcat
- volt
- vscale
- waterfall
- whichInterval
- why
- xor
@chebfun2
- abs
- biharm
- biharmonic
- cdr
- chebcoeffs2
- chebfun2
- chebpolyplot
- chebpolyplot2
- chebpolyval2
- chebpts2
- chol
- coeffs2
- coeffs2vals
- complex
- compose
- conj
- constructor
- contour
- contour3
- contourf
- cos
- cosh
- ctranspose
- cumprod
- cumsum
- cumsum2
- dblquad
- diag
- diff
- diffx
- diffy
- discriminant
- disp
- display
- domainarea
- domainCheck
- eig
- ellipsoid
- exp
- explain
- feval
- fevalm
- flipdim
- fliplr
- flipud
- fred
- get
- grad
- gradient
- horzcat
- imag
- integral
- integral2
- isempty
- isequal
- isPeriodicTech
- isreal
- iszero
- jacobian
- lap
- laplacian
- ldivide
- length
- log
- lu
- max
- max2
- mean
- mean2
- median
- mesh
- min
- min2
- minandmax2
- minandmax2est
- minus
- mldivide
- mrdivide
- mtimes
- norm
- normalizePivots
- normalizeRowsAndCols
- outerProduct
- paduaVals2coeffs
- pivotplot
- pivots
- plot
- plotcoeffs
- plotcoeffs2
- plus
- poisson
- pol2cart
- poldec
- potential
- power
- prod
- qr
- quad2d
- quiver
- quiver3
- rank
- rdivide
- real
- restrict
- roots
- sample
- sampleTest
- simplify
- sin
- singleSignTest
- sinh
- size
- sph2cart
- sphere
- sqrt
- squeeze
- std
- std2
- subsref
- sum
- sum2
- sumdisk
- surf
- surface
- surfacearea
- svd
- tan
- tand
- tanh
- times
- trace
- transpose
- uminus
- uplus
- vals2coeffs
- vertcat
- volt
- vscale
- waterfall
@chebfun2v
- chebfun2v
- coeffs2
- coeffs2chebfun2v
- coeffs2vals
- compose
- conj
- cross
- ctranspose
- curl
- diff
- diffx
- diffy
- disp
- display
- div
- divergence
- divgrad
- dot
- feval
- get
- horzcat
- imag
- integral
- isempty
- isPeriodicTech
- isreal
- jacobian
- laplacian
- ldivide
- minandmax2est
- minus
- mldivide
- mrdivide
- mtimes
- norm
- normal
- ode45
- plus
- power
- quiver
- quiver3
- rdivide
- real
- roots
- size
- subsref
- surf
- times
- transpose
- uminus
- uplus
- vals2coeffs
- vertcat
- vscale
@chebfun3
- abs
- biharm
- biharmonic
- chebcoeffs3
- chebfun3
- chebfun3classic
- chebfun3double
- chebfun3f
- chebpolyval3
- coeffs2vals
- coeffs3
- complex
- compose
- conj
- constructor
- coreplot
- cos
- cosh
- cumsum
- cumsum2
- cumsum3
- diff
- diffx
- diffy
- diffz
- discreteHOSVD
- disp
- display
- domainCheck
- domainvolume
- exp
- feval
- fevalt
- fold
- get
- grad
- gradient
- hosvd
- imag
- integral
- integral2
- integral3
- isempty
- isequal
- isosurface
- isPeriodicTech
- isreal
- iszero
- jacobian
- lap
- laplacian
- ldivide
- length
- log
- max
- max2
- max3
- mean
- mean2
- mean3
- min
- min2
- min3
- minandmax3
- minandmax3est
- minus
- mldivide
- mrdivide
- mtimes
- myind2sub
- ndf
- norm
- normal
- outerProd
- permute
- plot
- plotcoeffs
- plus
- power
- rank
- rdivide
- real
- restrict
- root
- sample
- scan
- simplify
- sin
- sinh
- size
- slice
- sqrt
- squeeze
- std
- std2
- std3
- subsref
- sum
- sum2
- sum3
- surf
- tan
- tand
- tanh
- times
- tucker
- txm
- uminus
- unfold
- uplus
- vals2coeffs
- vertcat
- vscale
@chebfun3/private
@chebfun3t
- chebfun3t
- coeffs2vals
- constructor
- cos
- cosh
- display
- domainCheck
- exp
- feval
- fold
- get
- isempty
- ldivide
- length
- minus
- mldivide
- mtimes
- ndf
- norm
- plotcoeffs
- plus
- power
- rdivide
- sampleTest
- sin
- sinh
- subsref
- sum3
- tan
- tand
- tanh
- times
- txm
- uminus
- unfold
- vals2coeffs
- vertscale
@chebfun3v
- chebfun3v
- compose
- conj
- cross
- ctranspose
- curl
- diff
- diffx
- diffy
- diffz
- disp
- display
- div
- divergence
- divgrad
- dot
- feval
- get
- horzcat
- imag
- integral
- integral2
- isempty
- isPeriodicTech
- isreal
- jacobian
- lap
- laplacian
- ldivide
- minandmax3est
- minus
- mldivide
- mrdivide
- mtimes
- norm
- plus
- power
- quiver3
- rdivide
- real
- root
- roots
- size
- subsref
- times
- transpose
- uminus
- uplus
- vertcat
- vscale
@chebfunpref
@chebgui
- bcReform
- chebgui
- constructInit
- demo
- demo2chebgui
- display
- displayBVPinfo
- displayIVPinfo
- isIVPorFVP
- myStringCompare
- set
- setupODEoptions
- show
- solve
- solveGUI
- solveGUIbvp
- solveGUIeig
- solveGUIivp
- solveGUIpde
- subsasgn
@chebguiController
- callbackBCs
- changeFontsize
- chebguiController
- clear
- drawLogo
- initalizeFields
- loadDemoMenu
- plotEigenmodes
- populate
- removeTabs
- setupPanelDiscretization
- setupPanelFigures
- setupPanelInput
- setupPanelIVPsolver
- setupPanels
- setupPanelType
- switchMode
@chebguiExporter
@chebguiExporterBVP
@chebguiExporterEIG
@chebguiExporterIVP
@chebguiExporterPDE
@chebmatrix
- addbc
- atPoint
- blockClasses
- blockSizes
- cat
- changeTech
- chebfun
- chebmatrix
- deal
- deflationFun
- disp
- display
- fliplr
- flipud
- horzcat
- identity
- isempty
- iszero
- matrix
- mergeDomains
- minus
- mpower
- mtimes
- norm
- norms
- pde15s
- pde23t
- plot
- plotcoeffs
- plus
- size
- spy
- subsasgn
- subsref
- vertcat
- waterfall
@chebop
- adjoint
- and
- chebop
- clearPeriodicBCs
- ctranspose
- dampingErrorBased
- deflate
- determineDiscretization
- disp
- display
- displayInfo
- displayInfoExactInitial
- displayInfoFinal
- displayInfoInit
- displayInfoIter
- displayInfoLinear
- displayIVPinfo
- eig
- eigs
- expm
- eye
- feval
- followpath
- getBCType
- gmres
- islinear
- linearize
- linop
- matrix
- minres
- minus
- mldivide
- mrdivide
- mtimes
- nargin
- newtonBVP
- null
- numVars
- parseBC
- pcg
- plus
- polyeigs
- quiver
- rdivide
- solvebvp
- solvebvpLinear
- solvebvpNonlinear
- solveivp
- spy
- subsref
- svds
- tangentBVP
- times
- uminus
- uplus
- vectorizeOp
- wronskian
@chebop2
- adi
- adiShifts
- bartelsStewart
- chebop2
- checkBC
- constructBC
- createBC
- denseSolve
- discretize
- display
- fadi
- get
- laplace
- minus
- mldivide
- mtimes
- plus
- rank
- recoverCoeffs
- separableFormat
- set
- setupLaplace
- solvepde
- subsasgn
- subsref
- truncate
- uminus
- uplus
@cheboppref
@chebpref
@chebtech
- abs
- and
- any
- assignColumns
- cancelExponents
- cell2mat
- chebcoeffs
- chebTcoeffs2chebUcoeffs
- chebtech.m
- classicCheck
- clenshaw
- compose
- conj
- constructorTurbo
- ctranspose
- cumsum
- diff
- dispData
- extractBoundaryRoots
- extractColumns
- extrapolate
- feval
- fix
- fliplr
- flipud
- floor
- fracInt
- getvscl
- happinessCheck
- horzcat
- imag
- innerProduct
- isdecay
- isempty
- isequal
- isfinite
- isinf
- isnan
- isreal
- iszero
- jaccoeffs
- ldivide
- legcoeffs
- length
- linopV4Check
- logical
- looseCheck
- lval
- mat2cell
- max
- min
- minandmax
- minus
- mldivide
- mrdivide
- mtimes
- normest
- not
- or
- parseDataInputs
- plateauCheck
- plot
- plot3
- plotcoeffs
- plotData
- plotregionData
- plus
- points
- poly
- polyfit
- populate
- power
- prolong
- qr
- rdivide
- real
- restrict
- roots
- round
- rval
- sample
- sampleTest
- sign
- simplify
- size
- standardCheck
- strictCheck
- sum
- techPref
- times
- transpose
- trigcoeffs
- uminus
- uplus
- vscale