| 查看: 3656 | 回复: 2 | |||
[求助]
sin函数的傅里叶变换
|
|
我想做sin函数的傅里叶变换 可是程序没有error,但是运行就说那个exe文件停止工作,程序如下,好像很多问题的样子,新手求指教! program main use textgraphlib implicit none real,parameter::endx=3.1,startx=0.0,xinc=0.1 integer,parameter::maxx=32,maxy=20 real ::x,px=0.0,py=0.0 integer i,num,fx,fy,xx real,allocatable::datax( ,datay(![]() x=startx do i=1,maxx x=px py=sin(x) datax(i)=px datay(i)=py px=px+xinc end do call four1(datay,16,1) call setscreen(maxx,maxy) do xx=1,maxx fy=datay(xx) call putchar(xx,fy) end do call updatescreen() stop end program subroutine four1(data1,nn,isign) integer isign,nn real data1(2*nn) integer i,istep,j,m,mmax,n real tempi,tempr double precision theta,wi,wpi,wpr,wr,wtemp n=2*nn j=1 do i=1,n,2 if(j.gt.i)then tempr=data1(j) tempi=data1(j+1) data1(j)=data1(i) data1(j+1)=data1(i+1) data1(i)=tempr data1(i+1)=tempi end if m=n/2 1 if((m.ge.2).and.(j.gt.m)) then j=j-m m=m/2 goto 1 end if j=j+m end do mmax=2 2 if(n.gt.mmax) then istep=2*mmax theta=6.28318530717959d0/(isign*mmax) wpr=-2.d0*sin(0.5d0*theta)**2 wpi=sin(theta) wr=1.d0 wi=0.d0 do m=1,mmax,2 do i=m,n,istep j=i+mmax tempr=sngl(wr)*data1(j)-sngl(wi)*data1(j+1) tempi=sngl(wr)*data1(j+1)+sngl(wi)*data1(j) data1(j)=data1(i)-tempr data1(j+1)=data1(i+1)-tempi data1(i)=data1(i)+tempr data1(i+1)=data1(i+1)+tempi end do wtemp=wr wr=wr*wpr-wi*wpi+wr wi=wi*wpr+wtemp*wpi+wi end do mmax=istep goto 2 end if return end |
» 猜你喜欢
想换工作。大多数高校都是 评职称时 认可5年内在原单位取得的成果吗?
已经有9人回复
求个博导看看
已经有16人回复
上海工程技术大学张培磊教授团队招收博士生
已经有4人回复
上海工程技术大学【激光智能制造】课题组招收硕士
已经有5人回复
求助院士们,这个如何合成呀
已经有4人回复
临港实验室与上科大联培博士招生1名
已经有9人回复
需要合成515-64-0,50g,能接单的留言
已经有4人回复
自荐读博
已经有4人回复
写了一篇“相变储能技术在冷库中应用”的论文,论文内容以实验为主,投什么期刊合适?
已经有6人回复
带资进组求博导收留
已经有10人回复
virtualzx
木虫 (著名写手)
- 应助: 263 (大学生)
- 金币: 7161.3
- 红花: 54
- 帖子: 1605
- 在线: 317.6小时
- 虫号: 2069080
- 注册: 2012-10-18
- 性别: GG
- 专业: 理论和计算化学
2楼2012-11-03 05:03:53
3楼2012-11-03 18:45:57







,datay(
回复此楼