Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Форма Курсовой проект С++.doc
Скачиваний:
7
Добавлен:
24.08.2019
Размер:
405.5 Кб
Скачать

45. Ряд Фурье

Значения периодического сигнала u(t), снятого за период в n моментов времени хранятся в файле. Создайте приложение, позволяющее построить график нескольких периодов u(t) и спектр этого сигнала. Приложение должно иметь удобный интерфейс.

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

В файле хранятся значения однотипных процессов в одно и то же время, например средняя температура каждого дня января в течение 10 лет. Из заданного класса функций нужно найти такую, которая наилучшим образом описывает этот процесс. Например, вы приняли решение описать упомянутый процесс полиномом 3-го порядка:

где T – температура, d – число месяца, ai – коэффициенты.

Тогда наилучшими коэффициентами будут такие при которых достигается минимум суммы квадратов ошибок

Разработайте правило записи данных в файл. Создайте приложение, которое определяет коэффициенты для заданного n=0,1,2,3. Приложение должно иллюстрировать качество приближения, т.е. выводить на экран все точки и там же строить полином.

47. Скользящее среднее

В файле хранятся измерения о некоторой медленно изменяющейся величине f(t) в виде m отсчетов f(t1), f(t2), f(t3), . . ., f(tm) взятые через равные интервалы времени. Результаты измерений получены с ошибкой, поэтому интерес представляет не само значение f(tk), а среднее значение нескольких соседних отсчетов, например (f(tk-1) + f(tk) + f(tk+1) )/3 . Естественно, что по мере изменения k значение среднего изменяется.

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

48. Линейное дифференциальное уравнение

Требуется создать приложение, которое методом Эйлера* находит решение линейного дифференциального уравнения n-го порядка:

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

__________________________________________

*Для иллюстрации рассмотрим простое уравнение первого порядка

Заменим производную на ее приближенное значение ,

где y[k] – значение y(t) в момент t=tk ,

x[k] – значение x(t) в момент t=tk ,

Δt – интервал времени между tk и tk+1.

Запишем выражение иначе

Здесь знак равенства нужно рассматривать как приближенное значение. Полученное выражение позволяет найти y[k+1] по его предыдущему значению y[k]. Это означает, что поступая так, можно последовательно найти решение y(t). Единственным условием является малое значение Δt. Однако сказать заранее чему оно равно или как его вычислить нельзя. Величина Δt выбирается опытным путем. При этом чаще всего оказывается, что Δt значительно меньше, интервал через который заданы значения x(t). В этом случае приходится прибегать к линейной интерполяции. .

Для уравнений второго и более высоких порядков введем новые переменные

,

,

,

. . . . . . .

.

Тогда из уравнения следует, что

.

Эти равенства образуют систему уравнений, которую можно решить методом Эйлера, подобно тому, как это было сделано выше.