Ряды Фурье. Примеры решений
Разложение тригонометрической функции в ряд Фурье с заданным интервалом. Создание линейных и квадратичных моделей. Составление кода программы и блок-схемы данной задачи. Определение шага интегрирования и точности вычислений. Тестирование программы.
Рубрика | Математика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 20.06.2022 |
Размер файла | 4,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ПО РАЗВИТИЮ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И КОММУНИКАЦИЙ РЕСПУБЛИКИ УЗБЕКИСТАНА
ТАШКЕНТСКИЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ИМЕНИ МУХАММАДА АЛЬ-ХОРАЗМИ
Отчет
по лабораторной работе №3
Выполнил: Турсуналийев Aзимжон
Группа: 420-20
Вариант №6
Разложите функцию в ряд Фурье с интервалом [-р;р].Разложите функцию в ряд Фурье с интервалом [-р;р].Разложите функцию в ряд косинусов с интервалом (0;2).Создайте линейные и квадратичные модели на основе данной таблицы. Укажите разницу ошибок модели. Приведите код программы и блок-схему для этой задачи:001,9510,11,99335798520,22,08105327230,32,21490641940,42,39716354850,52,63034264860,62,91703816270,73,259689683 |
funksiyani [-р;р] oraliqda Furye qatoriga yoyingfunksiyani [-р;р] oraliqda Furye qatoriga yoyingfunksiyani (0;2) oraliqda kosinuslar qatoriga yoying.Berilgan jadvalga asosan chiziqli hamda kvadratik modellarini tuzing. Modellar xatolik farqini ko'rsating. Ushbu topshiriq uchun dasturiy kodini va blok sxemasini keltiring:001,9510,11,99335798520,22,08105327230,32,21490641940,42,39716354850,52,63034264860,62,91703816270,73,259689683 |
Задания 1
1.
#include<cmath>
#include<iostream>
#include<iomanip>
#define PI 3.1415926535
static double INTEGR(const double& x)
{
return exp(-(x*x)/2);
}
static double Trapez(const double& left,const double& right, const double& h)
{
double sum = 0;
double runner;
for(runner = left+h;runner<right;runner+=h)
{
sum += INTEGR(runner);
}
sum = (sum+0.5*(INTEGR(left)+INTEGR(right)))*h;
return sum*1/sqrt(2*PI);
}
int main(int argc, char ** argv)
{
setlocale(LC_ALL, "Russian");
double a, b;
double h;
std::cout<< "Нижнее значение интеграла: ";
std::cin>>a;
std::cout<< "Верхнее значение интеграла: ";
std::cin>>b;
std::cout<< std::endl;
h=1;
while(abs(Trapez(a, b, h)-Trapez(a, b, h/2))>1e-6)
{
h/=2;
}
std::cout<<"Шаг интегрирование: "<< h << "Точность: "<<1e-5<<std::endl;
std::cout<<"Ответ: "<< std::fixed<<std::setprecision(6)<<Trapez(a, b, h)<<std::endl;
return 0;
}
Задания 2
#include <iostream>
#include <complex>
#include <vector>
using namespace std;
const double PI = 3.141592;
vector< complex<double> > DFT(vector< complex<double> >& theData)
{
const int S = theData.size();
vector< complex<double> > out(S, 0);
for(unsigned i=0; (i < S); i++)
{
out[i] = complex<double>(0.0, 0.0);
for(unsigned j=0; (j < S); j++)
{
out[i] += theData[j] * polar<double>(1.0, - 2 * PI * i * j / S);
}
}
return out;
}
int main(int argc, char *argv[]) {
vector< complex<double> > numbers;
numbers.push_back(102023);
numbers.push_back(102023);
numbers.push_back(102023);
numbers.push_back(102023);
vector< complex<double> > testing = DFT(numbers);
for(unsigned i=0; (i < testing.size()); i++)
{
cout << testing[i] << endl;
}}
Задания 3
#include <bits/stdc++.h>
using namespace std;
const int INF = 1000000007;
int a[100000];
int d[100001];
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 2; i <= n; i++) {
d[i] = INF;
}
d[1] = a[0];
for (int i = 1; i < n; i++) {
int j = upper_bound(d + 1, d + n + 1, a[i]) - d;
if (j == 1 || a[i] > d[j - 1]) {
d[j] = min(d[j], a[i]);
}
}
for (int i = n; i > 0; i--) {
if (d[i] != INF) {
cout << i;
break;
}
}
}
Задания 4
#include <tchar.h>
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int _tmain()
{
setlocale(LC_ALL, "rus");
double *a = NULL, *b = NULL, **sum = NULL;
const int N = 8;
double x[N] = { -1, 0, 1, 3, 5, 7, 9, 11 },
y[N] = { 0, 2, 4, 6, 8, 10, 12, 14 };
int K, i, j, k, m;
double z, c;
cout << "Порядок k= ";
cin >> K;
cin.get();
b = new double[K + 1];
a = new double[K + 1];
sum = new double *[K + 1];
for (int i = 0; i<K + 1; i++)
sum[i] = new double[K + 1];
for (i = 0; i<K + 1; i++)
{
for (j = 0; j<K + 1; j++)
{
sum[i][j] = 0;
for (k = 0; k<N; k++)
{
sum[i][j] += pow(x[k], i + j);
}
}
}
for (i = 0; i<K + 1; i++)
{
b[i] = 0;
for (k = 0; k<N; k++)
{
b[i] += pow(x[k], i) * y[k];
}
}
for (int i = 0; i<K + 1; i++)
{
for (int j = 0; j<K + 1; j++)
cout << sum[i][j] << "\t";
cout << endl;
}
for (int i = 0; i<K + 1; i++)
cout << b[i] << "\t";
cout << endl;
for (int i = 0; i<K; i++)
{
m = i;
for (int j = i + 1; j<K + 1; j++)
{
if (fabs(sum[m][i])<fabs(sum[j][i]))
m = j;
}
for (int k = i; k<K + 1; k++)
{
z = sum[m][k];
sum[m][k] = sum[i][k];
sum[i][k] = z;
}
z = b[m]; b[m] = b[i]; b[i] = z;
for (int i = 0; i<K + 1; i++)
{
for (int j = 0; j<K + 1; j++)
{
cout << sum[i][j] << setw(15);
}
cout << "b" << i << "= ";
cout << b[i] << endl;
}
cin.get();
for (int j = i + 1; j<K + 1; j++)
{
c = -sum[j][i] / sum[i][i];
cout<<"\n\n ! "<<c<<endl;
for (int k = i; k<K + 1; k++)
{
sum[j][k] = sum[j][k] + c*sum[i][k];
}
b[j] = b[j] + c*b[i];
}
}
for (int i = 0; i<K + 1; i++)
{
for (int j = 0; j<K + 1; j++)
{
cout << sum[i][j] << setw(15);
}
cout << "b" << i << "=";
cout << b[i] << endl;
}
cin.get();
a[K] = b[K] / sum[K][K];
for (int i = K + 1 - 2; i >= 0; i--)
{
for (int k = i + 1; k<K + 1; k++)
{
b[i] = b[i] - a[k] * sum[i][k];
}
a[i] = b[i] / sum[i][i];
}
for (int i = 0; i<K + 1; i++)
cout << "X" << i << "=" << a[i] << endl;
cin.get();
system("Pause");
}
тригонометрический фурье код
Вывод
Я во время выполнения лабораторной работы узнал не знающий знаний, а знающие знание повторил. Для меня этот лабораторная работа была очень полезным.
Размещено на Allbest.ru
Подобные документы
Разложение в ряд Фурье. Определение функции и нахождение коэффициентов разложения. Проведение замены в интеграле. Условия теоремы о разложении функции в ряд Фурье. Примеры взятия интеграла по частям. Разложение в ряд Фурье четных и нечетных функций.
презентация [73,1 K], добавлен 18.09.2013Общее определение коэффициентов по методу Эйлера-Фурье. Ортогональные системы функций. Интеграл Дирихле, принцип локализации. Случай непериодической функции, произвольного промежутка, четных и нечетных функций. Примеры разложения функций в ряд Фурье.
курсовая работа [296,3 K], добавлен 12.12.2010Условия разложения функций для тригонометрического ряда. Определение коэффициентов разложения с помощью ортогональности систем тригонометрических функций. Понятие периодического продолжения функции, заданной на отрезке. Ряд Фурье функции у=f(x).
презентация [30,4 K], добавлен 18.09.2013Введение новых динамических систем и их решений, специальных функций эллиптических и тета-функций, зависящих от одного параметра, разложение эллиптических функций Якоби в ряды Фурье (теоремы разложения). Рассмотрение их связи с функцией Вейерштрасса.
курсовая работа [1,9 M], добавлен 26.04.2011Рассмотрение задач с двойными и тройными интегралами, применение к ним геометрического и симплекс методов решения; описание теоретической и практической части. Разложение функции в ряд Фурье по синусам и определение наибольшего и наименьшего значения.
курсовая работа [185,1 K], добавлен 28.04.2011Векторные пространства, скалярное произведение и норма функций, ортогональные системы функций, равенства и тригонометрический ряд Фурье. Сходимость интеграла Фурье, основные сведения теории преобразования. Операционное исчисление, преобразование Лапласа.
учебное пособие [1,2 M], добавлен 23.12.2009Образование множеством функций системы ортонормированных функций, условия ортогональности для заданной системы. Разложение в тригонометрический и комплексный ряды Фурье пилообразного сигнала. Генерирование программного произвольного дискретного сигнала.
контрольная работа [378,6 K], добавлен 14.01.2016Интеграл Фурье в комплексной форме. Формулировка теоремы о сходимости интеграла для кусочно-гладких и абсолютно интегрируемых на числовой прямой функции. Примеры нахождения преобразования Фурье, сверстка и преобразование, спектр, некоторые приложения.
курсовая работа [231,5 K], добавлен 27.08.2012Определение числа гармоник разложения функций в ряд Фурье, содержащих в сумме не менее 90% энергии. Построение амплитудного и фазового спектров функции, графика суммы ряда. Расчет среднеквадратичной ошибки между исходной функцией и частичной суммой Фурье.
контрольная работа [348,5 K], добавлен 13.12.2011Алгоритм вычисления преобразования Фурье для дискретного случая. Дискретное преобразование Фурье. Спектральное представление и спектральные характеристики периодического сигнала, четной непериодической функции и произвольного непериодического сигнала.
курсовая работа [932,9 K], добавлен 23.01.2022