Проверка выполнения теоремы Парсеваля при помощи Matlab

Сообщение об ошибке

Deprecated function: The each() function is deprecated. This message will be suppressed on further calls в функции menu_set_active_trail() (строка 2405 в файле /home/ih139182/public_html/includes/menu.inc).

Под теоремой Парсеваля понимают: сумма квадрата функции равна сумме квадрата преобразования.

Т.е.

В дискретном виде теорему записывают таким образом:

Зададим количество отсчётов:

N = 100; 

 Заполним случайными числами:

x = randn(1,N); 

 Посчитаем сумму квадратов:

Et = norm(x)^2; % или так: Et = sum(x.^2);

 Теперь осуществим преобразование Фурье и посчитаем сумму квадратов полученных отсчётов:

X = fftn(x);
Ew = 1/N * norm(X)^2; % или так: Ew = 1/N * sum(X.^2);

 Теперь можно сравнить результаты:

fprintf('Энергия сигнала во временной области: %f \n', Et);
fprintf('Энергия сигнала в частотной области: %f \n', Ew);

 У меня всё получилось ;)

Энергия сигнала во временной области: 135.280954 
Энергия сигнала в частотной области: 135.280954 

 Можете осуществить обратное преобразование Фурье и проверить теорему ещё раз.

Просмотров:   3558