
Глава 3: Дифференцирование
Аналитическое дифференцирование функции
Для того чтобы аналитически найти производную функции f(x) требуется:
1)задать функцию f(x)
2)задать на панели calculus->derivative
3)в появившихся в место заполнителях оператора дифференцирования ввести функцию зависящую от аргумента х, то есть f(x) и имя самого аргумента х.
4)ввести оператор символьного вычисления “->”
Пример аналитического дифференцирования:
F(x):=sin(x)*ln(x)
a/d(x)(f(x))->cos(x)*ln(x)+sin(x)/x
пример аналитического дифференцирования в точке
a/d(x)(f(x))->cos(x)*ln(2)+1/2sin(x)
правильные и неправильные использование оператора дифференцирования
d/dx sin(x)->cos(x)
d/dx sin(2)->0
место вычисления производных sin(x) при х=2, как это можно было ожидать, получено нулевое значение, это случилось из за того что аргумент функции sin(x) введен не в виде переменной в в виде числа. Поэтому Mathcad воспринимает последнюю строку как вычисление сначала значение sin в точке х=2, а затем дифференцирование этого значения, то есть константы. Дифференцирование константы равно 0.
Определение функции пользователя через оператор дифференцирования
f(x):=x2+2x2-7x2+3x-1
y(x):=d/dx-f(x)
y(x)->4*x3+6x2-14x+3
g(1)->-1
Численное дифференцирование
Пример численного дифференцирования функции в точке:
F(x)|:=sin(x)*ln(x)
X:=0.1
d/dx-f(x)=-1.293
df(x)/dx=f(x+/\x)-f(x)//\x
df(x)/dx=f(x)-f(x-/\x)//\x
df(x)/dx=f(x+/\x)-f(x-/\x)/2/\x
основная проблема численного определения производной связано с выбором процедуры d(x),
которая является далеко не очевидной.
На первый взгляд может показаться что следует выбирать очень малую d(x). При очень малом шаге разностной формулы означают вычитанию друг из друга близких чисел, в этом случае ошибки вычисления функции f(x) становится доминирующими и приводят к существенному росту суммарной погрешности вычисления разностной производной.
Следует подчеркнуть что в зависимости от характера дифференцируемой функции диапазон приемлимых функций f(x) будет различным, поэтому в каждом конкретном случае требуется совершать дополнительные шаги тестирующий верность выбора шага для численного дифференцирования.
Производные высшего порядка
Mathcad позволяет численно определять производные высшего порядка от нулевого до пятого порядка включительно.
Чтобы вычислить производные n-порядка нужно проделать те же самые действия что и предвзятие первой производной, затем за исключением что вместо оператора производной необходимо применить оператор n-производной.
Nth Derivative
Пример численного и символьного вычисления 6 производной:
F(x):=1/x
D6/dx-f(x)->720/x7
X:=-3
D6/dx6f(x)=(-)
X:=0.1
d/dx(d5/dx5f(x))=0
d6/dx6f(x)->7.20-109
аналитическое вычисление производных
f(x,k):=k*sin(x)
df/dx*f(x,k)0>k*cos(x);
k:=1
df/dk*f(x,k)->-0,839
символьные и численные вычисления
f(x,k):=k*sin(x)
df/dx*f(x,k)0>k*cos(x);
k:=1
df/dk*f(x,k)->-0,839
вычисление второй частной производной
f(x,y):=y2*x2+y*x2
d2/dx2*f(x,y)->G*y2*x+2*y
d2/dy2*f(x,y)->2*x3
d/dx*d/dy*f(x,y)->G*y*x2+2*x
для того чтобы изменить вид оператора дифференцирования на представление частной производной следует:
1)вызвать контекстное меню из области оператора дифференцирования нажатием View Derivative
2)выбрать в контекстном меню следующий пункт As и выбрать там Partial Derivative
Разложение функции в ряд Тейлора
Еще одна операция тесно связанная с дифференцированием представляет собой разложение функции в ряд Тейлора любой переменной х, в некоторой точке. Если эта точка х=0, то ряд называют рядом Маклорена, и он представим в окрестности точки х=0 вида a0+a1*x+a2*x2+… .
Здесь ai некоторые коэффициента не зависящий от х, но возможно являющиеся функциями других переменных от которых зависит исходная функция.
Именно эти коэффициенты выражаются через производные функции. Если она имеет в точке х=0 особенность, то соответствующее разложение называют рядом Лорана.
Пример разложения функции в ряд с разным порядком аппроксимации
F(x,k)=exp(-k*x2)
F(x,k)series, x, 3->1-k+x2
F(x,k)series, x, 5->1-k*x2+1/2*k2*x4
F(x,k)series, k, 4->1-k*x2+1/2*k2*x4-1/6*k3*x6
Интегрирование
Интеграл exp(-x2)dx=0.886
Интеграл exp(-x2)->1/2*erf(П)*П1/2=0.886
Интеграл exp(-x2)dx->П1/2
Пример функции интегрирования двух переменных по разным переменных
Интеграл exp(-x*t2)dx->-1/2exp(-b*z2)+1/2*exp(-a*z2)
…dz->…
О выборе алгоритма численного интегрирования.
Результат численного интегрирования это не точное, а приближенное значение интеграла, определенность с погрешностью, которая зависит от встроенной константы. Чем она меньше, тем с лучшей точностью будет найден интеграл, но и тем больше времени будет затрачено на расчеты. По умолчанию константа TOL равна 0.001. для того чтобы ускорить вычисление можно установить большее значение константы TOL. Кроме того пользователь имеет возможность выбирать сам алгоритм численного интегрирования.
Разработчикам MathCad запрограммировано 4 численных метода интегрирования.
1)алгоритм Ромберга – используется для большинства функций не содержащий особенность
2)адаптивный алгоритм – используется для функции быстро меняющиеся на интервале интегрирования.
3)бесконечный предел – для интеграла с бесконечными пределами
4)метод сингулярных границ – используется, если на одном из интервалов интегрирования есть знак бесконечность, а на другом число.
Алгоритм метода прямоугольников
Исходя из геометрического смысла определенного интеграла функции f(x), как площади фигуры образованной графиком этой функции и осью х, рассмотрим самый простой способ интегрирования «хорошей» функции – применить формулу прямоугольников. С ее помощью площадь упомянутой искомой фигуры подсчитывается как сумма элементарных прямоугольников, множества которых заменяется под интегральной функцией f(x).
График
Для подсчета интеграла I, интервал интегрирования [a,b] разбивается на N отрезков.
На каждом I отрезке f(x) заменяется прямоугольником с шириной H и высотой xi.
При стремление n к бесконечности значение S стремится к I
Предыдущие темы были посвящены проблемы поиска определенного интеграла, то есть числового значения равного площади фигуры образованный графиком под интегральной функции и осью х. задача нахождения неопределенного интеграла намного сложней по сколько связанно с поиском функции производные от которой равна исходной под интегральной функцией.
Символьное интегрирование
Интеграл exp(-a*x2)dx->1/2*П1/2/a1/2*erf(a1/2*x)
Erf(z)=a/корень П интеграл et2dt
Функция Лапласа
Расходящиеся интегралы
Если интеграл расходится (равен бесконечности) то вычислительный процессор может выдать сообщение об ошибки. Чаще всего ошибка будет иметь вид (найденное число превышающее значение 10307)
Вычисление расходящегося интеграла
Формулы
Данное вычисление получены при применение адаптивного алгоритма.
Интеграл с переменным пределом
Интеграл с переменным пределом верхним или нижним это интеграл для которого один из пределов интегрирования является переменной отличной от переменной интегрирования
Формула
Кратные интегралы
Кратным называется интеграл функции многих переменных берущиеся по нескольким переменным.
Формулы
Интеграл Фойе
Наиболее широко распространненым интегральным преобразованием является преобразование Фойе, которая представляет функцию F(x) в виде интегралов по гармоническим функциям называемого интегралов Фойе:
Формула
Функция F(w) называется также преобразованием Фойе или Фойе спектром f(x) исходной функции. Ее аргумент w имеет смысл частоты соответствующей гармонической составляющей f(x).
Функция выражающая преобразование Фойе всегда комплексно даже если f(x) является действительной.
Аналитическое преобразование Фойе
Symbolics->Transform->Fourier
Оператор для преобразования Фойе называется
Cos(k2*x)fourier,x->П/\(u-k2)+П*/\(w+k2)
Формула
Дискретное преобразование Фойе
В предыдыдущем разделе рассказывалось о возможности символьного процессора позволяющего осуществлять аналитическое преобразование Фойе- функции заданной формулой. Однако часто требуется вычисление интегралов Фойе для функции либо заданных таблично либо функции которые аналитически проинтегрировать не удается. В данном случае вместо символьных преобразований применяется численные методы интегрирования вместо символьных вычислений, связанных с дискретизацией под интегральной функции. Метод называется дискретным преобразованием Фойе.
MathCad реализует один из таких алгоритмов называющий быстрым преобразованием Фойе. Алгоритм БПФ реализован следующим:
1)fft(y) вектор прямого преобразования
2)FFT(y) вектор прямого преобразования Фойе в другой нормировки
3)ifft(w) вектор обратного преобразования Фойе
4)IFFT(w) вектор обратного преобразования Фойе в другой нормировки
y-вектор действительных данных взятых через равные промежутки значений аргумента
w-вектор действительных данных Фойе спектра взятые через равные промежутки значений частоты
вектор у должен иметь 2n, где n –целое число, результатом является вектор с 1+2n-1 элементами, и наоборот аргумент обратного Фойе преобразования должен иметь 1+2n-1 тогда результатом будет являться из 2n элементов. Если число данных не совпадает совпадает со степенью 2 то необходимо дополнить недостающие элементы нулями.
Пример дискретное преобразование Фойе (алгоритм БПФ модельного сигнала)
Формула
f(x):=0.5*sin(2П*0.1*x)+1*sin(2П*0.5x)
L:=100 N:=12.8 h:=1/N
I:=0…N-1
X:=i*h yi:=f(x/\)
F:=FFT(y)
График
Результаты расчета представляются в виде модуля fi по сколько сам спектр является комплексным.
Преобразование Фойе комплексных данных.
cfft(y) прямого комплексного преобразования Фойе
CFFT(y) -//- в другой нормировки
Ccfft(w) обратного комплексного преобразования Фойе
|CFFT(w)-//- в другой нормировки
Преобразование Лапласа
Формулы
Z-преобразования
Функции f(x) определяется не интегралом а бесконечной суммой следующего вида
Формула