Chebfun — это бесплатная/открытая программная система, написанная на MATLAB для численных вычислений с функциями действительной переменной. Она основана на идее перегрузки команд MATLAB для векторов и матриц в аналогичные команды для функций и операторов. Так, например, в то время как команда SUM в MATLAB складывает элементы вектора, команда SUM в Chebfun вычисляет определенный интеграл. Аналогично команда обратная косая черта в MATLAB становится командой Chebfun для решения дифференциальных уравнений. [1] [2] [3] [4] [5]
Математическая основа Chebfun — это численные алгоритмы, включающие кусочно-полиномиальные интерполянты и полиномы Чебышева , отсюда и название «Cheb». Пакет нацелен на объединение ощущений символьных вычислительных систем, таких как Maple и Mathematica, со скоростью чисел с плавающей точкой. [2] [3]
Проект Chebfun базируется в Математическом институте Оксфордского университета и был инициирован в 2002 году Ллойдом Н. Трефетеном и его студентом Закари Баттлзом. [1] Последняя версия, версия 5.7.0, была выпущена 2 июня 2017 года.
Chebfun2, программная система, расширяющая Chebfun до двух измерений, была представлена публике 4 марта 2013 года. После Chebfun2 в мае и июле 2016 года были представлены Spherefun (расширение до единичной сферы) и Chebfun3 (расширение до трех измерений).
Пользователь может начать с инициализации переменной x, скажем, в интервале [0,10].
>> x = chebfun ( 'x' ,[ 0 , 10 ]);
Эту переменную теперь можно использовать для выполнения дальнейших вычислений, например, вычисления и построения графика корней функции:
>> f = sin ( x ) + sin ( x .^ 2 ); plot ( f ) >> r = корни ( f ); подожди , plot ( r,f(r),'.r'), подожди
Определенный интеграл можно вычислить с помощью:
>> сумма ( f ) ответ = 2,422742429006079