24小时热门版块排行榜    

查看: 2697  |  回复: 17
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

宇天旅梦

铜虫 (小有名气)

[求助] 编一个fortran程序

需要一个fortran程序,比较简单的那种,例如f=((5x+6z)*e^(2i) )/(2x-z),其中z=(3y-1)*(x+2)

要求输出的结果是三列数据,分别对应x,y,f .并且每列有20个数。

这三组数据是要导入orgin中进行图像模拟的。
初学fortran,很多东西还不连贯。
请大师们对上面给的式子编个程序示范一下。
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

phy_yo

铁虫 (小有名气)

引用回帖:
12楼: Originally posted by 宇天旅梦 at 2013-08-25 19:16:10
我把x,y的虚数形式换了,改了点东西,运行时没显示错误,可是运行结果没有,弹出来的就只有黑框,不知道怎么回事,代码如下:
      program xcx
        real*8 x(5),y(5),n
        integer k
        complex*16 i,f
        open(10,f ...

我把x,y的虚数形式换了,改了点东西,运行时没显示错误,可是运行结果没有,弹出来的就只有黑框,不知道怎么回事,代码如下:
      program xcx
        real*8 x(5),y(5)
        integer k,n
        complex*16 i,f
        open(10,file='xcx.dat',status='unknown')
        i=(0,1)
        x(1)=0
        y(2)=0
         do 3 n=1,4               !/数组变量必须是整数才行 你可以想一下为什么这里是4/
            x(n+1)=x(n)+0.1
            y(n+1)=y(n)+0.1
3        continue

      do 2 k=1,5
        z=(3*y(k)-1)*(x(k)+2)
      f=((5*x(k)+6*z)*zexp(2*i))/(2*x(k)-z)
        write(*,*)x(k),y(k),f
        write(10,*)x(k),y(k),f     !/这样数据才会写入xcx.dat/
2     continue
       pause
        end
网络错误 无法获取数据
13楼2013-08-25 19:46:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 18 个回答

phy_yo

铁虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
open(10,file='data.dat',status='unknown')
real*8 x,y,z,x(20),y(20)
do 1 i=1,20
input (*,*)  x,y
x(i)=x
y(i)=y
1 continue
do 2 1,20
z=(3y(i)-1)*(x(i)+2)
f=((5x+6z)*e^(2i) )/(2x-z)
write(*,*) x(i),y(i),f
write(10,*) x(i),y(i),f
2 continue
pause
end
网络错误 无法获取数据
2楼2013-08-24 20:27:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

宇天旅梦

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by phy_yo at 2013-08-24 20:27:45
open(10,file='data.dat',status='unknown')
real*8 x,y,z,x(20),y(20)
do 1 i=1,20
input (*,*)  x,y
x(i)=x
y(i)=y
1 continue
do 2 1,20
z=(3y(i)-1)*(x(i)+2)
f=((5x+6z)*e^(2i) )/(2x-z)
write(*,* ...

式子中的 i 是虚数
3楼2013-08-24 22:35:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

phy_yo

铁虫 (小有名气)

【答案】应助回帖

引用回帖:
3楼: Originally posted by 宇天旅梦 at 2013-08-24 22:35:22
式子中的 i 是虚数...

哦 那就把real*8改成complex*16
然后再在前面加一行parameter(i=(0,1))

[ 发自手机版 http://muchong.com/3g ]
网络错误 无法获取数据
4楼2013-08-24 23:14:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见