电竞比分网-中国电竞赛事及体育赛事平台

分享

傅里葉級數(shù)逼近的源碼(完整程序)

 imelee 2018-06-17

問題

根據(jù)函數(shù)f(x)在區(qū)間[0,2π]上的2n+1個等距點

1.png

處的函數(shù)值fi=f(xi),求傅里葉(Fourier)級數(shù)

2.png

的前2n+1個系數(shù)ak=(k=0,1,…,n)和bk=(k=0,1,…,n)的近似值。

算法分析

設(shè)函數(shù)f(x)在區(qū)間[0,2π]上的2n+1個等距點

3.png

處的函數(shù)值為fi=f(xi),計算傅里葉(Fourier)級數(shù)

4.png

的前2n+1個系數(shù)

ak(k=0,1,…,n)和bk(k=0,1,…,n)

近似值得方法如下。

對于k=0,1,…,n進行如下運算:

(1)按下列迭代公式計算u1與u2

5.png

其中1.png。計算coskθ用如下剃推公式:

6.png

(2)按下列公式計算ak與bk

7.png

  

三、實例

根據(jù)函數(shù)f(x)=x2在區(qū)間[0,2π]上的101個等距點

8.png

處的函數(shù)值fi=f(xi),求傅里葉級數(shù)的系數(shù)

9.png

其中n=50。

四、代碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdio.h"
#include "math.h"
/*形參與函數(shù)類型    參數(shù)意義
double  f[2n+1] 存放區(qū)間[0,2π]內(nèi)的2n+1個等距點處的函數(shù)值
int  n  等距點數(shù)為2n+1
double  a[n+1]  返回傅里葉級數(shù)中的系數(shù)ak(k=0,1,…,n)
double  b[n+1]  返回傅里葉級數(shù)中的系數(shù)bk(k=0,1,…,n)
void  four()  過程
*/
void four(double f[],int n,double a[],double b[])
{
    int i,j ;
    double t,c,s,c1,s1,u1,u2,u0 ;
    t=6.283185306/(2.0*n+1.0);
    c=cos(t);
    s=sin(t);
    t=2.0/(2.0*n+1.0);
    c1=1.0 ;
    s1=0.0 ;
    for(i=0;i<=n;i++)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多