| 查看: 3641 | 回复: 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 |
» 猜你喜欢
之前让一硕士生水了7个发明专利,现在这7个获批发明专利的维护费可从哪儿支出哈?
已经有5人回复
博士读完未来一定会好吗
已经有29人回复
博士申请都是内定的吗?
已经有5人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有12人回复
投稿精细化工
已经有4人回复
高职单位投计算机相关的北核或SCI四区期刊推荐,求支招!
已经有4人回复
导师想让我从独立一作变成了共一第一
已经有9人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
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(
回复此楼