上传者: fzu031002319
|
上传时间:2025/4/6 5:17:12
|
文件大小:22KB
|
文件类型:docx
北邮数值与符号计算实验快速傅里叶变换及其应用
注意:实验报告不全,参考价值:函数实现。
1.1用C++实现复数类,并为其定义必要的运算符。
structComplex{doublereal_;doubleimage_;Complex(void);Complex(doubleconst&real);Complex(doubleconst&real,doubleconst&imag);Complex(Complexconst&v);Complexoperator+(Complexconst&a)const;Complexoperator-(Complexconst&a)const;Complexoperator*(Complexconst&a)const;Complexoperator/(intn)const;……};1.2voidfft(Comples*dst,Complex*src,intp);快速傅里叶变换。
求复数数组src[0,2p)的傅里叶变换,结果存放在dst[0,2p)中。
1.3voidifft(Complex*dst,Complex*src,intp);快速傅里叶逆变换。
求复数数组src[0,2p)的逆傅里叶变换,结果存放在dst[0,2p)中。
1.4利用快速傅里叶变换计算长整数乘法。
typedefstd::vectorInteger;voidmultiply(Integer*rst,Integerconst&a,Integerconst&b);假设向量a[0,n)表示一个长整数:其中2≤β≤256为基底,函数将两个长整数a,b相乘,结果放在*rst向量中。
利用上面的长整数乘法程序计算结果 (123456789ABCDEF)16256^500×(FEDCBA987654321)16256^500 (987654321)1010^800×(123456789)1010^800
本软件ID:9536504