Пример кода для построения графика частичной суммы ряда Фурье в графопостроителе.
Код:
//ГРАФИКИ ЧАСТИЧНЫХ СУММ РЯДА ФУРЬЕ
// установить обозначение аргумента функции "t"
// описание функции синк
function sinc(w)
{
if(w==0) return 1.0;
return Math.sin(w)/w;
}
// параметр сигнала
var t1=1.0;
// задаём длительность импульса
var ti1=3*t1;
var ti2=4*t1-3*t1;
// параметры сдвига
var t01=3*t1/2.0;
var t02=(3*t1+4*t1)/2.0;
// период сигнала
var T=20.0;
// частота первой гармоники
var w1 = 2.0*3.1415/T;
// порядок частичной суммы
var N = 20;
// результат (сначала присваиваем A0)
var result = 0.175;
// частота гармоники (сначала присваиваем частоту первой гармоники)
var wk = w1;
// цикл расчёта частичной суммы
for(var n = 1; n <= N; n++)
{
//дейсnвительная часть спектральной плотности
var ReS=ti1*sinc(0.5*wk*ti1)*Math.cos(wk*t01)+0.5*ti2*sinc(0.5*wk*ti2)*Math.cos(wk*t02);
// мнимая часть спектральной плотности
var ImS=-ti1*sinc(0.5*wk*ti1)*Math.sin(wk*t01)-0.5*ti2*sinc(0.5*wk*ti2)*Math.sin(wk*t02);
// амплитуда гармоники
var A = 2.0*Math.sqrt(ReS*ReS+ImS*ImS)/T;
// начальная фаза гармоники
var Ph = Math.atan2(ImS, ReS);
// прибавляем новое слагаемое в сумму
result = result + A*Math.cos(wk*t+Ph);
// рассчитываем частоту следующей гармоники
wk = wk + w1;
}
// возвращаем результат
return result;