Пример кода для построения графика частичной суммы ряда Фурье в графопостроителе.
Код:
//ГРАФИКИ ЧАСТИЧНЫХ СУММ РЯДА ФУРЬЕ // установить обозначение аргумента функции "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;