実現したいこと
フーリエ級数を計算したいです
Ak=2/NΣ[m=0]N-1 (Xmcos(2pikm/N))
k=0,1,・・・, N/2-1, N/2
Bk=2/NΣ[m=0]N-1 (Xmsin(2pikm/N))
k=1,・・・,N/2-1
Xm=A0/2+Σ[m=0] (N-1)/2 (Akcos(2pikm/N)+Bksin(2pikm/N))
前提
CSVファイルを読み込んで,Pythonでフーリエ級数展開のプログラムを作っています。
初心者なりに,ファイルの読み込みは出来たのですが,フーリエ級数の計算が出来ていません。
ご教授して頂けると幸いです。
該当のソースコード
Python
1df = pd.read_csv("1.csv") 2fun = df.iloc[:, 0] 3 4R=[] 5AK=0 6A=0 7N1=len(fun) 8N1_2=int((N1-1)/2) 9print(N1_2) 10m=0 11k=0 12 13for m in range(N1-1): 14 for k in range(N1_2): 15 if k < N1_2: 16 Ak=(2/N1)*fun[m]*np.cos(2*np.pi*k*m/N1) 17 A=Ak+A 18 k=k+1 19 elif k == N1_2: 20 R.append(A) 21 m=m+1 22 k=0 23 A=0 24 print(A) 25df=pd.DataFrame(R) 26df.to_csv("result_A.csv",sep=',',encoding='utf-8')
試したこと
if文等でプログラムを書き換えてもうまくいかないため,ご教授して頂けると幸いです