Re: [問題] 如何用C表示複數

看板C_and_CPP (C/C++)作者 (kkk1225)時間16年前 (2009/10/12 19:35), 編輯推噓5(5010)
留言15則, 5人參與, 最新討論串2/3 (看更多)
※ 引述《kkk1225 (kkk1225)》之銘言: : 剛開始設值都是整數 , 經過複利葉轉換後有虛數出現 , 要如何表示實數加虛數 : EX: F= a+bi, 還是要自己再設計一個函數式 , 請各位高手講解一下 /*fft2*/ #include<stdio.h> #include<stdlib.h> #include<math.h> #include<complex.h> #define PI 3.14 int main(void) { int i,j,m,n,u,v; int y; int x[3][3]={0}; int F[3][3]={0}; for(i=1;i<=2;i++) { for(j=1;j<=2;j++) { x[i][j]=1;/設計矩陣中間元素/ } } for(u=0;u<=3;u++) { for(v=0;v<=3;v++) { y=0; for(m=0;m<=3;m++) { for(n=0;n<=3;n++) { y=y+x[m][n]*exp(sqrt(-1)*2*PI*((u*m)/4+(v*n)/4));/* 二維傅立葉轉換公式 */ } } F[u][v]=y; printf("F[%d][%d]=%d\n",u,v,F[u][v]); } } system("pause"); return 0; } 程式跑出來F[u][v]只有實部,如何顯示出虛部 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.32.178

10/12 19:41, , 1F
你不會以為#include個complex.h之後它就會自動幫你弄好
10/12 19:41, 1F

10/12 19:42, , 2F
實虛部了吧?? 建議你還是直接找看有沒有sample來參考:)
10/12 19:42, 2F

10/12 20:07, , 3F
實部虛部分開存,計算會用到;公式重看,頻譜不帶虛部
10/12 20:07, 3F

10/12 20:10, , 4F
不另外用其他struct/class, 小弟想到也是自己code裡把
10/12 20:10, 4F

10/12 20:10, , 5F
實虛部分開; 話說, 不需要用到浮點數算嗎@_@"
10/12 20:10, 5F

10/12 21:40, , 6F
小聲問一下, sample收尋的關鍵字是?
10/12 21:40, 6F

10/12 21:46, , 7F
我剛剛找 complex.h 就有一些東西了
10/12 21:46, 7F

10/13 09:39, , 8F
struct/class要如何建立,用浮點數時矩陣會出現錯誤
10/13 09:39, 8F

10/13 10:24, , 9F
請問實部和虛部如何分開存取
10/13 10:24, 9F

10/13 15:09, , 10F
[3]只有0~2,printf的%d表示整數要換掉;建議找本程設讀
10/13 15:09, 10F

10/13 16:57, , 11F
可以用以把公式寫cos和sin,來做實部和虛部計算嗎
10/13 16:57, 11F

10/13 20:30, , 12F
若你指的是尤拉公式..,sin的部份就是虛部
10/13 20:30, 12F

10/14 09:32, , 13F
沒錯 做完再存到struct裡面,這樣做可以嗎
10/14 09:32, 13F

10/14 11:27, , 14F
當然可以程式寫法很自由,只要你清楚各種型態的使用方法
10/14 11:27, 14F

10/14 12:54, , 15F
謝謝各位的講解,小弟會好好加油低
10/14 12:54, 15F
文章代碼(AID): #1AqnIJlC (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1AqnIJlC (C_and_CPP)