Применение MATHCAD в инженерных расчетах: Учебное пособие. Майер Р.В

П

Глушач В.С. УИТ-44

рактические работы 1,2. Прямое и обратное преобразование Фурье в MathCad.

Освоение работы в MathCad. Получение навыков использования преобразования Лапласа для анализа спектральных составляющих сигналов. Изучение временных и частотных шкал временного ряда и преобразования Фурье.

1. Генерируем временной ряд из трех синусоид. Количество точек должно быть равно 2 ^ n

2. Определяем среднее, дисперсию.

3. Делаем прямое и обратное преобразование Ф. Дважды преобразованный сигнал накладываем на график исходного временного ряда.

4. Находим соотношение между шкалой временного ряда по оси времени и преобразования Фурье по оси частот.

1. Выбираем дискретность по времени dt и количество точек временного ряда в виде nl:= 2 k

Пусть к:= 9 nl:= 2 k nl=512 Длина выборки во времени T:=512

Шаг по Или, учитывая, что nl-1

времени примерно равно nl Тогда i:=0..nl-l t. := i*dt

2. Генерируем входной сигнал х как сумму трех гармонических сигналов и определяем его основные статистики.

А1:= 1 f1:= 0.05 xl i:= Al-sin/2*3.14*fl*t i) srl:= mean(xl) srl = 0.012 s1:=stdev(x1) s1=0.706

A2:= 0.5 f2:= 0.1 x2 i:= A2-sin/2*3.14*f2*t i) sr2:= mean(x2) sr2 = 3.792x10 -4 s2:=stdev(x2) s2=0.353

A3:= 0.25 f3:= 0.4 x3 i:= A3-sin/2*3.14*f3*t i) sr3:= mean(x3) sr3 = 3.362x10 -4 s3:=stdev(x3) s3=0.177

x i:= xl i + x2 i + x3 i sry:= mean(x) sry = 0.013 sy:= stdev(x) sy = 0.809

1. Прямое преобразование Фурье в MathCad F:= fft(x)

Максимаьный период гармонической составляющей, которая может быть во временном ряде равен длине выборки. Эта гармоническая составляющая соответствует минимально возможной частоте по шкале частот преобразования Фурье frnin и соответственно шагу по оси частот преобразования Фурье df.

Tmax:= T frnin:=
df:= frnin df = 1.953 x 10 -3

Таким образом, минимальная частота и шаг по частоте преобразования Фурье равны frnin =df = 1/Т.

Преобразование Фурье имеет количество ординат по частоте в два раза меньше количества ординат временного ряда во времени n2=nl/2 или, включая нулевую точку (в которой преобразование Фурье не определено)

n2:= 1 + 2 k -1 n2 = 257 j:= l..n2

Индекс текущей частоты изменяется от j=l до j=n2

При этом частота изменяется от fmin =df= 1/T Максимальная частота finax:= n2*df fmax = 0.502

до frnax=n2*df Текущая частота f i:= i*df

f 1 = 1.953 x 10 -3 f 257 = 0.502

Обратим внимание, что преобразование Фурье определено только для частот в диапазоне от f=finin до f=fmax.

При этом пики на графике спектра Фурье соответствуют частотам исходных синусоид, т.е преобразование Фурье позволяет выделить частотные составляющие сигнала. Но амплитуды гармонических составляющих сейчас не отображают амплитуды составляющих исходного временного ряда (где А1=1, А2=0.5, А3=0.25)

Обратим также внимание, что при dt =1 максимальная частота в спектре преобразования Фурье равна frnax=0.5 колебаний в единицу шкалы времени. При dt = 1сек это соответствует fmax = 0.5 гц. При этом период максимальной частоты равен Тfmax=1/0.5=2. Это означает, что на один период максимальной частоты приходится два отбора временного ряда. Это соответствует теореме Котельникова, согласно которой для восстановления гармонического непрерывного сигнала из дискретного без потери информации на один период должно быть не менее двух отсчетов во времени.

3. Проведем проверку совпадения временных рядов до и после двойного преобразования Фурье. Для этого получим обратное преобразование Фурье от полученного прямого преобразования. Оно должно совпадать с исходным временным рядом, что подтверждается следующим графиком FF:= ifft(F)

Поскольку результатом интерполяционных формул Ньютона и Лагранжа является один и тот же полином N –го порядка, то их погрешность ведет себя одинаково.

Пример 3.4. Для исходных данных, использованных в примере 3.1, вычислим значение полинома Ньютона. Сначала заполним таблицу разделенных разностей:

F(xi ,xj )

F(xi ,xj ,xk )

F(x0 ,x1 ,x2 ,x3 )

z–xi

Используя формулу Ньютона, получим:

P 3 (1)= –1+0.6 1+(–0.1) 1 (–1)+0.0857 1 (–1) (–2)= –0.129.

3.6 Ряды Фурье

Ряд Фурье позволяет изучать как периодические, так и непериодические функции, разлагая их на компоненты. Переменные токи и напряжения, смещения, скорость и ускорение кривошип- но-шатунных механизмов, акустические волны - это типичные практические примеры применения периодических функций в инженерных расчетах. В терминах обработки сигналов преобразование Фурье берет представление функции сигнала в виде временных рядов и отображает его в частотный спектр. То есть оно превращает функцию времени в функцию частоты; это разложение функции на гармонические составляющие на различных частотах. Преобразование Фурье может представить сигнал, изменяющийся во времени, в виде зависимости частоты и амплитуды, также оно даѐт информацию о фазе (рис.3.4).

Разложение в ряд Фурье основывается на предположении, что все имеющие практическое значение функции в интервале π ≤x≤ π можно выразить в виде сходящихся тригонометрических рядов (ряд считается сходящимся, если сходится последовательность частичных сумм, составленных из его членов).

Согласно гипотезе Фурье не существует функции, которую нельзя было бы разложить в тригонометрический ряд. Разложим функцию f (t ) в ряд на отрезке [–π, π]

f (t ) = a 0 /2 + a 1 cos(t ) + a 2 cos(2t ) + a 3 cos(3t ) + … + b 1 sin(t ) + b 2 sin(2t ) + b 3 sin(3t )+…,

где n-ые элементы ряда выражаются как

f (t) cos(nt)dt ,

Рис. 3.4. Иллюстрация к разложению в ряд Фурье

Коэффициенты a n и b n называют коэффициентами Фурье , а представление функции f (t ) по формуле (3.1) – разложением в ряд Фурье . Иногда разложение в ряд Фурье, представленное в таком виде, называют действительным разложением в ряд Фурье, а коэффициенты – действительными коэффициентами Фурье (в отличие от комплексного разложения).

Проанализируем выражения (3.2) и (3.3). Коэффициент a 0 представляет собой среднее значение функции f (t ) на отрезке [–π, π] или постоянную составляющую сигнала f (t ). Коэффициенты a n и b n (при n > 0) – это амплитуды косинусных и синусных составляющих функции (сигнала) f (t ) с угловой частотой равной n . Другими словами, данные коэффициенты задают величину частотных составляющих сигналов. Например, когда мы говорим о звуковом сигнале с низкими частотами (например, звуки бас-гитары), это означает, что коэффициенты a n и b n больше при меньших значениях n и наоборот – в высокочастотных звуковых

колебаниях (например, звук скрипки) больше при больших значениях n .

Колебание самого большого периода (или самой низкой частоты), представленное суммой a 1 cos(t ) и b 1 sin(t ) называют колебанием основной частоты или первой гармоникой. Колебание с периодом равным половине периода основной частоты – второй гармоникой, колебание с периодом равным 1/n основной частоты – n -гармоникой. Таким образом, с помощью разложения функции f (t ) в ряд Фурье, мы можем осуществить переход из временной области в частотную. Такой переход обычно необходим для выявления особенностей сигнала, которые «незаметны» во временной области.

Обратим внимание, что формулы (3.2) и (3.3) применимы для периодического сигнала с периодом равным 2π. В общем случае в ряд Фурье можно разложить периодический сигнал с периодом T , тогда при разложении используется отрезок [–T /2, T /2]. Период первой гармоники равен T и составляющие примут вид cos(2πt /T ) и sin(2πt /T ), составляющие n -гармоники - cos(2πtn /T ) и sin(2πtn /T ). Если обозначить угловую частоту первой гармоники ω0 = 2π/T , тогда составляющие n -гармоники принимают вид cos(ω0 nt ), sin(ω0 nt ) и

cos(nt ) b sin(nt ) ,

f (t)

где коэффициенты Фурье вычисляются по формулам

T / 2

(t ) cos(0 nt )dt ,

T / 2

f (t ) sin(0 nt )dt .

T / 2

T / 2

Разложение в ряд Фурье используется для гармонического или спектрального анализа периодических сигналов. Для спектрального анализа непериодических сигналов используется преобразование Фурье. Для этого ряд (3.4) представим, используя систему базисных функций в виде экспонент с мнимыми показателями:

2 j nt

f (t)

C n exp(

T / 2

2 j nt

f (t ) exp(

T / 2

Опустив ряд выкладок, выражение (3.6) запишем в виде

C () f (t ) exp(j t )dt .

Данная формула называется прямым преобразованием Фурье или преобразованием Фурье. Обычно преобразование Фурье обозначают той же (только прописной) буквой, что и аппроксимируемая функция (которая обычно обозначается строчной бук-

F () f (t ) exp(j t )dt .

Функция F (ω) называется функцией спектральной плотности (или просто спектральной плотностью, преобразованием Фурье, Фурье-образом). Область значений функции F (ω) в общем случае является множество комплексных чисел.

Обратное преобразование Фурье, обеспечивающее восста-

новление исходной функции f (t ) по функции спектральной плотности вычисляется следующим образом

f (t ) F () exp(j t )dt .

Дискретное преобразование Фурье (ДПФ, DFT - Discrete Fourier Transform) - это одно из преобразований Фурье, широко применяемых в алгоритмах цифровой обработки сигналов (его модификации применяются в сжатии звука в MP3, сжатии изображений в JPEG и др.), а также в других областях, связанных с анализом частот в дискретном (к примеру, оцифрованном аналоговом) сигнале. Дискретное преобразование Фурье требует в качестве входа дискретную функцию. Такие функции часто создаются путѐм дискретизации (выборки значений из непрерывных функций). Недостатком данного алгоритма является большой объем повторяющихся вычислений. Устранение этих избыточных операций приводит к так называемому алгоритму

быстрого преобразования Фурье, который обычно и используется.

Быстрое преобразование Фурье (БПФ, FFT) - алгоритм быстрого вычисления дискретного преобразования Фурье (ДПФ). То есть алгоритм вычисления за число действий, меньшее чем O(N 2 ), требуемых для прямого (по формуле) вычисления ДПФ (N - количество значений сигнала, измеренных за период, а также количество компонент разложения). Иногда под БПФ понимается один из быстрых алгоритмов, называемый алгоритмом прореживания по частоте/времени или алгоритмом по основанию 2.

Для того чтобы реализовать преобразование Фурье в пакете MathCAD , необходимо на панели Symbolic выбрать оператор fourier для прямого преобразования и invfourier - для обратного. Этот оператор нужно поместить следом за функцией, которую нужно преобразовать, а в качестве единственного параметра нужно указать переменную, относительно которой эта функция будет преобразована. Примеры использования показа-

ны рис. 3.5 для функции f (t ) e 2 t и на рис. 3.6, где к функции f (t ) применяется амплитудно-частотная модуляция, а далее результат раскладывается в ряд.

Рис. 3.5. Пример разложения в ряд Фурье с помощью символьной функции fourier

Рис. 3.6. Пример разложения в ряд Фурье с помощью символьной функции fourier

MathCAD содержит функции для быстрого дискретного преобразования Фурье (БПФ) и его обращения. Существует два типа функций для дискретного преобразования Фурье: fft и ifft , cfft и icfft . Эти функции дискретны: они берут в качестве аргументов и возвращают векторы и матрицы.

Функции fft и ifft используются, если выполнены следующие условия: (1) аргументы вещественные; (2) – вектор данных имеет 2m элементов.

Во всех прочих случаях используются функции cfft и icfft .

Соблюдать первое условие необходимо, потому что функции fft и ifft используют тот факт, что для вещественных данных вторая половина преобразования Фурье является комплексно – сопряженной с первой. MathCAD отбрасывает вторую половину вектора результата, что сохраняет время и память при вычислениях. Пара функций cfft и icfft не используют симметрию в преобразовании и могут использоваться для вещественных и комплексных чисел.

Второе условие требуется, потому что пара функций fft и ifft используют высокоэффективный алгоритм быстрого преобразования Фурье. Для этого вектора аргумента, используемо-

го функцией fft , должен состоять из 2m элементов. Алгоритм функций cfft и icfft допускает в качестве аргументов векторы и матрицы произвольного размера. Для двухмерного преобразования Фурье используются только эти функции. Функции fft и ifft , cfft и icfft взаимно обратные друг другу, то есть справедливо:

и icfft(cfft(v)) v .

На рис. 3.7 проиллюстрировано использование функций ff t(v) и ifft(v) для сигнала синусоидальной формы, на который наложены помехи с помощью функции rnd(x) , генерирующей случайные числа в диапазоне от 0 до x .

Рис. 3.7. Прямое и обратное преобразование Фурье с помощью функций fft и ifft

На данных графиках приведен Фурье образ сигнала c и сравнение исходного сигнала x с восстановленным из Фурье-образа. Б олее подробно о Фурье-анализе можно прочесть в и .

3.7 Метод наименьших квадратов

Во всех вышеизложенных методах приближения функции условия интерполяции выполнялось точно. Однако в тех случаях, когда исходные данные x i , f i , i= 1,…,N, заданы с некоторой погрешностью, можно требовать лишь приближенное выпол-

нение условий интерполяции: |F(x i ) – f i |< . Это условие означает, что интерполирующая функция F(x) проходит не точно через заданные точки, а в некоторой их окрестности, так, например, как это показано на рис. 3.8. Приблизим исходные данные глобальным полиномом. Если решать задачу интерполяции точно, то полином должен иметь степень N . При рассмотрении полинома Лагранжа мы выяснили, что полином N –й степени хорошо приближает исходную функцию только при небольших значениях N .

Рис. 3.8. Приближенное выполнение условий интерполяции

Будем искать полином низкой степени, например, P 3 (x )=a 1 +a 2 x+a 3 x 2 +a 4 x 3 . Если N >4, то точная задача решений не имеет: для четырех неизвестных коэффициентов (a 1 , a 2 , a 3 , a 4 ) условия интерполяции дают N >4 уравнений. Но теперь точного выполнения условий интерполяции не требуется, мы хотим, чтобы полином проходил рядом с заданными точками. Существует много таких полиномов, каждый из которых определяется своим набором коэффициентов. Среди всех возможных полиномов этого вида выберем тот, что имеет наименьшее среднеквадратичное отклонение в узлах интерполяции от заданных значений, т.е. многочлен должен быть самым близким к заданным точкам из всех возможных многочленов третьей степени в смысле метода наименьших квадратов (МНК). В i –й точке по-

лином P 3 (x ) отклоняется от значения f i на величину (P 3 (x i ) – f i ) . Суммируем квадраты отклонений полинома по всем точкам i= 1, 2,…, N, получим функционал квадратов отклонений:

G(a1 ,a2 ,a3 ,a4 ) (P3 (xi ) fi )2

a2 xi a3 xi 2 a4 xi 3 fi )2 .

Найдем минимум этого функционала. Для этого приравняем нулю его частные производные по переменным a 1 , a 2 , a 3 , a 4 . Используя стандартные правила дифференцирования, получим:

2 (a 1

a2 xi a3 xi 2 a4 xi 3 fi ) 0

a3 xi 2 a4 xi 3 fi ) 0

G 2 xi (a1 a2 xi

2 x i 2 (a 1

a2 xi

a3 xi 2 a4 xi 3 fi ) 0

2 x i 3 (a 1

a2 xi

a3 xi 2 a4 xi 3 fi ) 0

Собирая коэффициенты при неизвестных a i , получим СЛАУ относительно вектора неизвестных (a 1 , a 2 , a 3 , a 4 ):

N a1 xi a2 xi 2

a3 xi 3 a4 fi

xi 2 a2

xi 3 a3

xi 4

f i x i

xi 2 a1

xi 3 a2

xi 4 a3

xi 5

f i x i2

xi 3 a1

xi 4 a2

xi 5 a3

xi 6

f i x i3

Полученная система называется нормальной . Для ее решения используют стандартные методы решения СЛАУ. Как правило, число неизвестных системы (т.е. число коэффициентов интерполирующей функции) невелико, поэтому можно использовать точные методы решения СЛАУ, например, метод Крамера или метод Гаусса. Метод наименьших квадратов позволяет «приблизить» исходные данные с помощью линейной комбинации любых элементарных функций. Часто используются приближения линейной F (x )=a 1 +a 2 x, , тригонометрической F (x )=a 1 sin(x )+a 2 cos(x ), экспоненциальной F (x )=a 1 e x

N a1 xi a2

xi a1 xi 2 a2 fi xi

Вычисляем

xi 2 ,

f i x i ,

подставляем в нормальную

Рис. 3.9. Подбор линейной

5 a 1.4a

зависимости МНК

0.148. График функции F (x )=-0.04+0.57x показан на рис. 3.9 сплошной линией. Точками показаны исходные данные. Можно видеть, что найденная линейная функция действительно приближает заданные точки.

В MathCAD метод наименьших квадратов тесно связан с линейной регрессией (y(x) = b + ax ), поскольку коэффициенты a и b вычисляют из условия минимизации суммы квадратов ошибок |b + ax i – y i |. Для расчета в MathCAD имеются два дублирующих друг друга способа:

line (x,y) возвращает вектор из двух элементов коэффициентов линейной регрессии b + ax ;

Mod(x, y) – остаток от деления x на y. Результат имеет тот же самый знак, что и x; angle(x, y) – угол (в радианах) между положительной полуосью x и вектором (x, y) в плоскости XY. Аргументы должны быть вещественны. Возвращает значение между 0 и 2π. ceil(3.25) = 4 floor(3.25) = 3 mantissa (x) := x − floor(x) mantissa (3.45) = 0.45 Традиционное округление: roundoff (x) := if(mantissa (x) < 0.5, floor(x) , ceil(x)) roundoff (3.46) = 3 roundoff (3.56) = 4 Рис. 14. Создание функций округления На рис. 14 показано, как из этих функций могут быть сформированы функции округления. 4.4. Дискретное преобразование Фурье В Mathcad входят два типа функций для дискретного прямого и об- ратного преобразования Фурье: fft/ifft и cfft/icfft. Эти функции дискрет- ны: они берут в качестве аргументов и возвращают векторы и матрицы. Они не могут быть использованы с другими функциями. Используйте функции fft и ifft, если выполнены два следующих ус- ловия: аргументы вещественны, и вектор данных имеет 2m элементов. Первое условие необходимо, потому что функции fft/ifft используют тот факт, что для вещественных данных вторая половина преобразова- ния Фурье является комплексно сопряженной с первой. Mathcad отбра- сывает вторую половину вектора-результата. Это сохраняет время и память при вычислениях. Пара функций cfft/icfft не использует симметрию в преобразова- нии. По этой причине необходимо использовать их для комплексных данных. 41 Второе условие требуется, потому что пара функций fft/ifft исполь- зует высоко эффективный алгоритм быстрого преобразования Фурье. Для этого вектор аргумента, используемого с fft, должен иметь 2m эле- ментов. В функциях cfft/icfft использован алгоритм, который допускает в качестве аргументов как матрицы, так и векторы произвольного раз- мера. Когда эта пара функций используется с матрицей в качестве аргу- мента, вычисляется двумерное преобразование Фурье. Следует иметь в виду, что если для прямого преобразования исполь- зована функция fft, то для обратного преобразования необходимо ис- пользовать функцию ifft. Аналогично используются функции cfft/icfft. 4.5. Преобразование Фурье в вещественной области Для вещественных векторов с 2m элементами предпочтительно ис- пользовать функции fft/ifft. Функция fft(v) возвращает дискретное пре- образование Фурье, векторный аргумент которой можно интерпретиро- вать как результат измерений через равные промежутки времени некоторого сигнала. Вектор v должен содержать 2m элементов. Резуль- тат – комплекснозначный вектор размерности 1 + 2m–1. Если v имеет размерность, отличную от 2m, Mathcad выдает сообщение об ошибке "неверный размер вектора". Элементы вектора, возвращаемого fft, вычисляются по формуле n −1 ∑ vk e 2 πi (j n) k . 1 Cj = n k =0 В этой формуле n – число элементов в v, i – мнимая единица. Эле- менты в векторе, возвращенном функцией fft, соответствуют различ- ным частотам. Чтобы восстановить фактическую частоту, необходимо знать частоту измерения исходного сигнала. Если v есть n-мерный век- тор, переданный функции fft, и частота измерения исходного сигнала – fs, то частота, соответствующая Ck k fk = fs. n Обратите внимание, что это делает невозможным обнаружить часто- ты выше частоты измерения исходного сигнала. Это ограничение, нала- гаемое не Mathcad, а самой сутью проблемы. Чтобы правильно восста- новить сигнал по его преобразованию Фурье, необходимо произвести 42 i:= 0 .. 63 xi:= sin  π⋅  + rnd (1) − 0.5 i Формирование сигнала:    10  Применяется комплексное преобразование Фурье: c:= fft(x) N:= last (c) N = 32 Обращение преобразования Фурье: z:= ifft(c) N2:= last (z) N2 = 63 j:= 0 .. N k:= 0 .. N2 Графическое представление сигнала zk = xj = 2 –0.499 –0.499 2.34·10 –3 2.34·10–3 0.673 0.673 xi 0 0.659 0.659 1.274 1.274 0.674 0.674 –2 0 20 40 60 80 1.162 1.162 i 0.613 0.613 Фурье-образ 0.179 0.179 4 –0.044 –0.044 0.489 0.489 –0.69 –0.69 cj 2 –1.079 –1.079 –0.777 –0.777 –0.849 –0.849 –1.334 –1.334 0 0 10 20 30 40 j Рис. 15. Быстрые пр6еобразования Фурье в Mathcad 43 измерения исходного сигнала с частотой, по крайней мере, вдвое боль- шей, чем ширина полосы частот. Подробное обсуждение этой пробле- мы содержится в специальных курсах. Функция ifft(v) возвращает обратное дискретное преобразование Фурье. Вектор v должен иметь 1 + 2m элементов, где m – целое. Резуль- тат есть вектор размерности 2m+1. Аргумент v – вектор, подобный созданному функцией fft. Чтобы вы- числить результат, Mathcad сначала создает новый вектор w, комплекс- но сопряженный v, и присоединяет его к вектору v. Затем Mathcad вы- числяет вектор d, элементы которого вычисляются по формуле n −1 ∑ wk e−2πi(j n)k . 1 dj = n k =0 Это та же самая формула, что и для fft, кроме знака минус в функции экспоненты. Функции fft и ifft – точные обращения. Для всех веще- ственных v справедливо ifft(fft(v)) = v. Пример использования прямого и обратного преобразований Фурье приведен на рис. 15. 4.6. Альтернативные формы преобразования Фурье Определения преобразования Фурье, рассмотренные выше, не явля- ются единственно возможными. Например, часто используются следу- ющие определения прямого и обратного преобразований Фурье: n n ∑ f (τ)e−2πi(ν n)τ ; f (τ) = ∑ F (ν) e () . 1 2 πi τ / n ν F (ν) = n τ=1 v =1 Эти определения реализованы во встроенных функциях FFT/IFFT и ICFFT. Они отличаются от быстрого преобразования Фурье следующим: вместо коэффициента 1 n перед обеими формулами стоит коэф- фициент 1/n и коэффициент 1 в обратном преобразовании; знак минус появляется в показателе экспоненты прямого преобразо- вания и исчезает в формуле обратного. 4.7. Кусочно-непрерывные функции Кусочно-непрерывные функции полезны для управления ветвлени- ями и остановками вычислительных процессов. Имеются пять функций 44 Использование условных операторов 2 x:= −2 , − 1.8 .. 2 f (x) := x − 1 g (x) := if(f (x) > 0 , f (x) , 0) g(x) равна f(x), когда f(x) > 0, иначе 0 4 4 2 f (x) g(x) 2 0 2 0 2 0 2 2 0 2 x x h (x) := if(x ≥ 1 , f (x) , − f (x)) иначе –f(x) 5 h(x) 0 Продолжать вычисления до выполнения условия 5 2 0 2 2 quess − a < err x −2 N:= 100 i:= 0 .. N a:= 1000 quess 0:= 10 err:= 10  quess i + a   quess i  quess i+ 1:= until (quess i) − a − err ,  2  2  N2:= last (quess) − 1 j:= 0 .. N2 j= quess j = (quess j)2 = 0 10 100 Число итераций N2 = 5 1 55 3.025·10 3 answer:= quess N2 2 36.591 1.339·10 3 3 31.96 1.021·10 3 answer = 31.623 4 31.625 1·10 3 5 31.623 1·10 3 Рис. 16. Условные выражения в Mathcad 45 Mathcad, относящихся к этому классу. Функция if полезна для выбора одного из двух значений, определяемого условием. Ступенчатая функ- ция Хевисайда Ф(х) и символ Кронекера δ(m, n) во многом аналогичны функции if. Функция until используется, чтобы управлять процессом итераций. Функция if(cond, tval, fval) возвращает значение tval, если cond отли- чен от 0 (истина) и возвращает fval, если cond равен 0 (ложь). Обычно в качестве аргумента cond выбирается булево выражение вида w = z, x > y, x < y, x ≥ y, x ≤ y, w ≠ z. Можно объединять булевы операторы, чтобы записать более сложные условия. Например, условие (x < 1) ⋅ (x > 0) действует подобно логическому "и", возвращающему 1, только если x заключено между 0 и 1. Аналогично выражение (x > 1) + (x < 0) действует подобно логическому "или", возвращающему 1, если x > 1, или x < 0, и 0, если x заключено между 0 и 1. Функция until (x, z) возвращает z, пока выражение x не становится отрицательным; должно содержать дискретный аргумент. Функция until позволяет останавливать вычисления для последовательных значений дискретного аргумента. Функция until полезна в итеративных процес- сах с определенным условием сходимости. На рис. 16 приведены примеры использования функций if и until. Функция Хевисайда эквивалентна следующей функции: Ф (x) := if (x < 0,0,1) Символ Кронекера δ(m, n) возвращает 1, если m = n; иначе 0. Оба аргумента должны быть целочисленными. Символ Кронекера эквива- лентен функции δ (m, n) := if (m = n,1,0) Ступенчатая функция Хевисайда может быть использована для со- здания импульса шириной w: pulse (x, w) := Ф (x) − Ф (x − w) Можно определить также две полезные функции lowpass и highpass. Они обе являются фильтрами – умножение на них какого-либо сигнала 46 вырезает из этого сигнала кусок вокруг точки x, имеющий ширину 2w. Разница состоит в том, что lowpass оставляет только вырезанный ку- сок, highpass – все, кроме вырезанного куска. lowpass (x, w) := pulse (x+w, 2 ⋅ w) highpass (x, w) := 1 − pulse (x+w, 2 ⋅ w) 4.8. Статистические функции Для вычисления статистических оценок случайных совокупностей чисел в Mathcad могут использоваться следующие функции: mean(A) – возвращает среднее значение элементов массива А раз- мерности m × n по формуле m −1 n −1 ∑ ∑ Aij ; 1 mean(A) = mn i =0 j =0 var(A) – возвращает дисперсию элементов массива А размерности m × n согласно формуле m −1 n −1 ∑ ∑ Aij − mean(A) 1 2 var(A) = ; mn i =0 j =0 stdev(A) - возвращает среднеквадратичное отклонение (квадратный корень из дисперсии) элементов m × n массива А stdev(A) = var(A). 4.9. Плотности распределения вероятности Эти функции показывают отношение вероятности того, что случай- ная величина попадает в малый диапазон значений с центром в задан- ной точке, к величине этого диапазона. В Mathcad имеются функции семнадцати плотностей вероятностей. Отметим только некоторые из них: dnorm(x, µ, σ) – возвращает плотность вероятности нормального рас- пределения 1  (x − µ) 2  dnorm(x, µ, σ) = exp  − , 2πσ  2σ 2  47 в котором µ и σ есть среднее значение и среднеквадратичное отклоне- ние, σ > 0; dunif(x, a, b) – вычисляет плотность вероятности равномерного рас- пределения  1 , x ∈ ,  dunif(x, a, b) =  b − a  0,  x ∉ в котором a и b являются граничными точками интервала, a < b. 4.10. Функции распределения Эти функции возвращают вероятность того, что случайная величи- на меньше или равна определенному значению. Функция распределе- ния вероятности – это функция плотности вероятности, проинтегриро- ванная от минус бесконечности до определенного значения. Приведем две из них: pnorm(x, µ, σ) – возвращает функцию нормального распределения со средним µ и среднеквадратическим отклонением σ (σ > 0); punif(x, a, b) – возвращает функцию равномерного распределения. a и b есть граничные значения интервала (a < b). Mathcad имеет ряд функций для генерирования случайных чисел, имеющих разнообразные распределения вероятностей. Приведем две из них: rnorm(m, µ, σ) – возвращает вектор m случайных чисел, имеющих нормальное распределение (σ > 0); runif(m, a, b) – возвращает вектор m случайных чисел, имеющих рав- номерное распределение, в котором a и b являются граничными точка- ми интервала (a < b). Остальные встроенные статистические функции и их описания мож- но посмотреть, выбрав команду Функция из меню Вставка. 4.11. Интерполяция и функции предсказания Интерполяция заключается в использовании значений некоторой функции, заданных в ряде точек, чтобы предсказать значения между ними. В Mathcad можно или соединять точки данных прямыми линия- ми (линейная интерполяция) или соединять их отрезками кубического полинома (кубическая сплайн-интерполяция). 48 В отличие от функций регрессии, обсуждаемых в следующем разде- ле, функции интерполяции определяют кривую, точно проходящую че- рез заданные точки. Из-за этого результат очень чувствителен к ошиб- кам данных. Если данные зашумлены, следует рассмотреть возможность использования регрессии вместо интерполяции. Для линейной интерполяции используется функция linterp(vx, vy, x), которая по векторным данным vx и vy возвращает линейно интерполи- руемое значение y, соответствующее третьему аргументу x. Аргументы vx и vy должны быть векторами одинаковой длины. Вектор vx должен содержать вещественные значения, расположенные в порядке возраста- ния. Эта функция соединяет точки данных отрезками прямых, созда- вая, таким образом, ломаную линию. Интерполируемое значение для конкретного x есть ордината y соответствующей точки ломаной. Пример линейной интерполяции показан на рис. 17. Кубическая сплайн-интерполяция позволяет провести кривую через набор точек таким образом, что первые и вторые производные кривой непрерывны в каждой точке. Эта кривая образуется путем создания ряда кубических полиномов, проходящих через наборы из трех смежных то- чек. Кубические полиномы состыковываются друг с другом, чтобы об- разовать одну кривую. Чтобы провести кубический сплайн через набор точек: создайте векторы vx и vy, содержащие координаты x и y, через кото- рые нужно провести кубичный сплайн. Элементы vx должны быть рас- положены в порядке возрастания; вычислите вектор vs:=cspline(vx, vy). Вектор vs содержит вторые про- изводные интерполяционной кривой в рассматриваемых точках. Чтобы найти интерполируемое значение в произвольной точке, ска- жем х0, вычислите interp(vs, vx, vy, x0), где vs, vx и vy – векторы, опи- санные ранее. Обратите внимание, что можно сделать то же самое, вычисляя interp(cspline(vx, vy),vx,vy, x0). Пример использования кубической сплайн-интерполяции приведен на рис. 17 внизу. 49 Линейная интерполяция i:= 0 .. 5 VXi:=i VYi:=vd(1) VXi = VYi = –3 linterp(VX, VY, 1.5) = 0.389 0 1.268·10 1 0.193 linterp(VX, VY, 3.75) = 0.705 2 0.585 linterp(VX, VY, 4.1) = 0.758 3 0.35 4 0.823 x:= 0 , 0.1.. 5 5 0.174 1 linterp(VX , VY , x) 0.5 VYi 0 0 2 4 6 x , VX i Кубическая сплайн-интерполяция i:= 0 .. 5 VXi:= i VYi:= rnd (1) VS:= lspline (VX, VY) interp (VS, VX, VY, 1.5) = 0.188 interp (VS, VX, VY, 3.75) = 0.868 interp (VS, VX, VY, 4.1) = 0.989 1 VYi = 0.71 interp(VS , VX , VY , x) 0.304 0.5 VYi 0.091 0.147 0.989 0 0 2 4 6 0.119 x , VX i Рис. 17. Примеры интерполяции 50

Математический смысл преобразования Фурье состоит в представлении сигнала у(х) в виде бесконечной суммы синусоид вида F(v)sin(vx). Функция F(v) называется преобразованием Фурье или интегралом Фурье, или Фурье-спектром сигнала. Ее аргумент v имеет смысл частоты соответствующей составляющей сигнала. Обратное преобразование Фурье переводит спектр F(V) в исходный сигнал у(х). Согласно определению,

Как видно, преобразование Фурье является существенно комплексной величиной, даже если сигнал действительный.

Преобразование Фурье действительных данных

Преобразование Фурье имеет огромное значение для различных математических приложений, и для него разработан очень эффективный алгоритм, называемый БПФ (быстрым преобразованием Фурье). Этот алгоритм реализован в нескольких встроенных функциях Mathcad, различающихся нормировками.

  • fft(y) - вектор прямого преобразования Фурье;
  • FFT(Y) - вектор прямого преобразования Фурье в другой нормировке;
  • ifft(v) - вектор обратного преобразования Фурье;
  • IFFT(V) - вектор обратного преобразования Фурье в другой нормировке;
    • у - вектор действительных данных, взятых через равные промежутки значений аргумента;
    • v - вектор действительных данных Фурье-спектра, взятых через равные промежутки значений частоты.

Аргумент прямого Фурье-преобразования, т. е. вектор у, должен иметь ровно 2 n элементов (n - целое число). Результатом является вектор с 1+2 n-1 элементами. И наоборот, аргумент обратного Фурье-преобразования должен иметь 1+2 n-1 элементов, а его результатом будет вектор из 2 n элементов. Если число данных не совпадает со степенью 2, то необходимо дополнить недостающие элементы нулями.

Рис. 15.24. Исходные данные и обратное преобразование Фурье (листинг 15.20)

Пример расчета Фурье-спектра для суммы трех синусоидальных сигналов разной амплитуды (показанных в виде сплошной кривой на рис. 15.24), приведен в листинге 15.20. Расчет проводится по N=128 точкам, причем предполагается, что интервал дискретизации данных ух равен А. В предпоследней строке листинга применяется встроенная функция if ft, а в последней корректно определяются соответствующие значения частот Qx. Обратите внимание, что результаты расчета представляются в виде модуля Фурье-спектра (рис. 15.25), поскольку сам спектр является комплексным. Очень полезно сравнить полученные амплитуды и местоположение пиков спектра с определением синусоид в листинге 15.20.

Листинг 15.20. Быстрое преобразование Фурье

Рис. 15.25. Преобразование Фурье (листинг 15.20)

Результат обратного,преобразования Фурье показан в виде кружков на том же рис. 15.24, что и исходные данные. Видно, что в рассматриваемом случае сигнал у(х) восстановлен с большой точностью, что характерно для плавного изменения сигнала.

Преобразование Фурье комплексных данных

Алгоритм быстрого преобразования Фурье для комплексных данных встроен в соответствующие функции, в имя которых входит литера "с".

  • cfft(y) - вектор прямого комплексного преобразования Фурье;
  • CFFT(y) - вектор прямого комплексного преобразования Фурье в другой нормировке;
  • icfft(y) -вектор обратного комплексного преобразования Фурье;
  • ICFFT(V) - вектор обратного комплексного преобразования Фурье в другой нормировке;
    • у - вектор данных, взятых через равные промежутки значений аргумента;
    • v - вектор данных Фурье-спектра, взятых через равные промежутки значений частоты.

Функции действительного преобразования Фурье используют тот факт, что в случае действительных данных спектр получается симметричным относительно нуля, и выводят только его половину (см. выше разд. "Преобразование Фурье действительных данных" этой главы). Поэтому, в частности, по 128 действительным данным получалось всего 65 точек спектра Фурье. Если к тем же данным применить функцию комплексного преобразования Фурье (рис. 15.26), то получится вектор из 128 элементов. Сравнивая рис. 15.25 и 15.26, можно уяснить соответствие между результатами действительного и комплексного Фурье-преобразования.

Рис. 15.26. Комплексное преобразование Фурье (продолжение листинга 15.20)

Двумерное преобразование Фурье

В Mathcad имеется возможность применять встроенные функции комплексного преобразования Фурье не только к одномерным, но и к двумерным массивам, т. е. матрицам. Соответствующий пример приведен в листинге 15.21 и на рис. 15.27 в виде графика линий уровня исходных данных и рассчитанного Фурье-спектра.

Листинг 15.21. Двумерное преобразование Фурье

Рис. 15.27. Данные (слева) и их Фурье-спектр (справа) (листинг 15.21)

Тригонометрические ряды Фурье с помощью Mathcad.

Цель работы

Научиться раскладывать периодические функции в тригонометрические ряды Фурье с помощью Mathcad и строить графики частичных сумм ряды Фурье.

Оборудование

Пакет программ MathCAD.

Ход работы

Вариант

1) Разложить функцию в тригонометрический ряд Фурье

2) Разложить функцию в тригонометрический ряд Фурье по косинусам

3) Разложить функцию в тригонометрический ряд Фурье по синусам

Допуск к работе

3.2.1 Тригонометрическим рядом Фурье функции называют функциональный ряд вида

3.2.4 Для функции f(x) вычислены коэффициенты Фурье (при разложении её по косинусам)

a 1 = 5, a 2 = 6, a 3 = 7

Запишите тригонометрический ряд Фурье

3.2.5 Функцию f(x) раскладывают в ряд Фурье по синусам (нечётным образом), тогда

Лист
№ докум.№
Подпись
Лист
№ докум.
Подпись
Дата
Лист

3.1.2. Найти числовые характеристики случайной величины x (x – выигрыш владельца одного лотерейного билета).

В лотерее разыгрываются ____ билетов.

Из них выигрывают по ____ рублей

Из них выигрывают по ____ рублей.

3.1.3. Найти числовые характеристики случайной величины «х»

а). 0,15 б) -0,35 в) 0,35 г) 0,25 д) не определить.

3.2.3 В лотерее 200 билетов. Выигрышных билетов 30. Какова вероятность того, что билет не выигрышный?

а). 1,7 б) 0,7 в) 0,17 г) 0,85 д) 0,15

3.2.4 Запишите формулу для вычисления дисперсии дискретной случайной величины.

3.2.5 Запишите формулу для вычисления среднего квадратического отклонения дискретной случайной величины.

________________________________________________________________________________

3.2.6. Д (у) = 25. Чему равно среднее квадратическое отклонение?

а). ± 5 б) 5 в) -5 г) не определить.

3.2.7 Как в MathCAD можно решить уравнение

______________________________________________________________________________

К работе допускается ______________

Результаты работы

4.1. М(х) = ____________ Д(х) = ____________ σ (х) = ___________

Лист
№ докум.
Подпись
Дата
Лист
ПР.140448.00.00
ПРАКТИЧЕСКАЯ РАБОТА 12

Нахождение точечных и интервальных оценок

неизвестных параметров распределения в Excel

1. Цель работы

По данной выборке научиться определять числовые характеристики выборки и оценивать неизвестные параметры генеральной совокупности, оценивать с данной доверительной вероятностью математическое ожидание генеральной совокупности.

2.Оборудование:

IBM PC, программная оболочка Microsoft Excel.

Ход работы

3. 1 Вариант

Оценить с заданной доверительной вероятностью γ= математическое ожидание генеральной совокупности по данной выборке

_____________________________________________________________________________________

3. 2 Допуск к работе

1. Как вычисляется среднее выборочное?

2. Как вычисляется выборочная дисперсия?

____________________________________________________________________________________________________________________________________________________________

3. Как вычисляется среднее квадратичное отклонение?

____________________________________________________________________________________________________________________________________________________________

4. Как вычисляется исправленная выборочная дисперсия?

____________________________________________________________________________________________________________________________________________________________

5. Чем точечная оценка неизвестного параметра распределения отличается от интервальной?

____________________________________________________________________________________________________________________________________________________________

6. Как вычисляется интервал для оценки математического ожидания генеральной совокупности?

________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________


7. Как обозначается коэффициент Стьюдента?

Изм.
Лист
№ докум.
Подпись
Дата
Лист
ПР.140448.00.00
____________________________________________________________________________________________________________________________________________________________

8. От чего зависит величина коэффициента Стьюдента?

____________________________________________________________________________________________________________________________________________________________

К работе допускается:______________________________________________

Результаты работы

σ в = S в = t γ =

Вывод

В ходе выполнения данной работы применил формулы точечных и интервальных оценок____________________________________________________________

_________________________________________________________________



Изм.
Лист
№ докум.
Подпись
Дата
Лист
ПР.140448.00.00