Znn3bq.jpeg
²é¿´: 729  |  »Ø¸´: 6

zyj8119

ľ³æ (ÖøÃûдÊÖ)

[½»Á÷] ¡¾ÇóÖú¡¿ÎÊÒ»¸öFORTRAN³ÌÐò ÒÑÓÐ3È˲ÎÓë

CODE:
subroutine dsrrt(a,xr,xi,n,m,l,b)
        dimension a(n),xr(m),xi(m),b(n)
        if(abs(a(1))+1.0.eq.1.0)then
       l=0
         write(*,5)
         return
        end if
5     format(1x,'err')
      l=1
      k=m
      is=0
        w=1.0
        do 10 i=1,n
10    b(i)=a(i)/a(1)
20    pp=abs(b(k+1))
      if(pp.lt.1.0e-12)then
        xr(k)=0.0
        xi(k)=0.0
        k=k-1
        if(k.eq.1)then
         xr(k)=-b(2)*w/b(1)
         xi(k)=0.0
         return
        end if
        goto 20
        end if
        q=pp**(1.0/k)
        p=q
        w=w*p
        do 30 i=1,k
        b(i+1)=b(i+1)/q
        q=q*p
30    continue
      x=0.0001
        x1=x
        y=0.2
        y1=y
        g=1.0e+37
        dx=1.0
40    u=b(1)
      v=0.0
        do 50 i=1,k
          p=u*x1
          q=v*y1
          pq=(u+v)*(x1+y1)
          u=p-q+b(i+1)
          v=pq-p-q
50    continue
      g1=u*u+v*v
        if(g1.lt.g)goto 105
        if(is.ne.0)goto 80
60    t=t/1.67
      x1=x-t*dx
        y1=y-t*dy
        if(k.ge.50)then
         p=sqrt(x1*x1+y1*y1)
       q=exp(85.0/k)
        if(p.ge.q)goto 60
      end if
        if(t.ge.1.0e-03)goto 40
        if(g.le.1.0e-18)goto 90
65    is=1
      dd=sqrt(dx*dx+dy*dy)
        if(dd.gt.1.0)dd=1.0
        dc=6.28/(k+4.5)
70    c=0.0
80    c=c+dc
      dx=dd*cos(c)
        dy=dd*sin(c)
        x1=x+dx
        y1=y+dy
        if(c.le.6.29)goto 40
        dd=dd/1.67
        if(dd.gt.1.0e-07)goto 70
90    if(abs(y).le.1.0e-06)then
       p=-x
         y=0.0
         q=0.0
        else
         p=-2.0*x
         q=x*x+y*y
         xr(k)=x*w
       xi(k)=-y*w
         k=k-1
        end if
        do 100 i=1,k
         b(i+1)=b(i+1)-b(i)*p
         b(i+2)=b(i+2)-b(i)*p   
100  continue
      xr(k)=x*w
        xi(k)=y*w
        k=k-1
        if(k.eq.1)then
          xr(k)=-b(2)*w/b(1)
          xi(k)=0.0
          return
        end if
      goto 20
105   g=g1
      x=x1
        y=y1
        is=0
        if(g.le.1.0e-22)goto 90
      u1=k*b(1)
        v1=0.0
        do 110 i=2,k
          p=u1*k
          q=v1*y
          pq=(u1+v1)*(x+y)
          u1=p-q+(k-i+1)*b(i)
          v1=pq-p-q
110   continue
      p=u1*u1+v1*v1
        if(p.le.1.0e-20)goto 65
        dx=(u*u1+v*v1)/p
        dy=(u1*v-v1*u)/p
      t=1.0+4.0/k
        goto 60
        end      
         
     
        dimension a(7),xr(6),xi(6),b(7)
        data a/1.0,-5.0,3.0,1.0,-7.0,7.0,-20.0/
        n=7
        m=6
        call dsrrt(a,xr,xi,n,m,l,b)
        if(l.ne.0)then
        do 400 i=1,m
400   continue  
      write(*,500)i,xr(i),xi(i)
      end if
500    format(1x,'x(',i2,1x,')=',e13.6,2x,'j',2x,e13.6)
      end

[ Last edited by ÓàÔó³É on 2010-9-9 at 18:01 ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zyj8119

ľ³æ (ÖøÃûдÊÖ)

ÀÏÊÇÊý×éÔ½½ç£¬²»ÖªµÀΪʲô£¿
ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
2Â¥2010-08-07 22:52:38
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)

¡ï
resonant(½ð±Ò+1):¸ÐлÌṩ£º-£© 2010-08-07 23:55:03
zyj8119(½ð±Ò+4):ÔÚѰÕÒ£¬ÄãÌí¼ÓµÄÕâ¸ö³ÌÐòºÃÏñ»¹ÊÇÊý×éÔ½½ç¡£ 2010-08-08 16:44:09
ÎÊÌâÔÚÓÚÄãµÄÊý×é b ϱê±ä³É¸ºÖµÁË¡£ÄãÅÜÒ»ÏÂÏÂÃæµÄ´úÂë¿´¿´£¬¼ÓÁ˼¸¸ö write£¬¿ÉÒÔ¿´³öÎÊÌâ³öÔÚÄÄÀºÇºÇ¡­¡­ÖÁÓÚÔõô¸Ä£¬ÎÒ²»Á˽âÄãµÄËã·¨£¬Ã»Óа취¡­¡­
CODE:
        subroutine dsrrt(a,xr,xi,n,m,l,b)
        dimension a(n),xr(m),xi(m),b(n)
        if(abs(a(1))+1.0.eq.1.0)then
       l=0
         write(*,5)
         return
        end if
5     format(1x,'err')
      l=1
      k=m
      is=0
        w=1.0
        do 10 i=1,n
10    b(i)=a(i)/a(1)
20    pp=abs(b(k+1))
      write(*,*) 'i am at line 16', k, pp
      if(pp.lt.1.0e-12)then
        xr(k)=0.0
        xi(k)=0.0
        k=k-1
        write(*,*) 'i am at line 21', k
        if(k.eq.1)then
         xr(k)=-b(2)*w/b(1)
         xi(k)=0.0
         return
        end if
        goto 20
        end if
        q=pp**(1.0/k)
        p=q
        w=w*p
        do 30 i=1,k
        b(i+1)=b(i+1)/q
        q=q*p
30    continue
      x=0.0001
        x1=x
        y=0.2
        y1=y
        g=1.0e+37
        dx=1.0
40    u=b(1)
      v=0.0
        do 50 i=1,k
          p=u*x1
          q=v*y1
          pq=(u+v)*(x1+y1)
          u=p-q+b(i+1)
          v=pq-p-q
50    continue
      g1=u*u+v*v
        if(g1.lt.g)goto 105
        if(is.ne.0)goto 80
60    t=t/1.67
      x1=x-t*dx
        y1=y-t*dy
        if(k.ge.50)then
         p=sqrt(x1*x1+y1*y1)
       q=exp(85.0/k)
        if(p.ge.q)goto 60
      end if
        if(t.ge.1.0e-03)goto 40
        if(g.le.1.0e-18)goto 90
65    is=1
      dd=sqrt(dx*dx+dy*dy)
        if(dd.gt.1.0)dd=1.0
        dc=6.28/(k+4.5)
70    c=0.0
80    c=c+dc
      dx=dd*cos(c)
        dy=dd*sin(c)
        x1=x+dx
        y1=y+dy
        if(c.le.6.29)goto 40
        dd=dd/1.67
        if(dd.gt.1.0e-07)goto 70
90    if(abs(y).le.1.0e-06)then
       p=-x
         y=0.0
         q=0.0
        else
         p=-2.0*x
         q=x*x+y*y
         xr(k)=x*w
       xi(k)=-y*w
         k=k-1
        end if
        write(*,*) 'i am at line 88', k
        do 100 i=1,k
         b(i+1)=b(i+1)-b(i)*p
         b(i+2)=b(i+2)-b(i)*p   
100   continue
      xr(k)=x*w
        xi(k)=y*w
        k=k-1
        if(k.eq.1)then
          xr(k)=-b(2)*w/b(1)
          xi(k)=0.0
          return
        end if
        write(*,*) 'i am at line 101', k
      goto 20
105   g=g1
      x=x1
        y=y1
        is=0
        if(g.le.1.0e-22)goto 90
      u1=k*b(1)
        v1=0.0
        do 110 i=2,k
          p=u1*k
          q=v1*y
          pq=(u1+v1)*(x+y)
          u1=p-q+(k-i+1)*b(i)
          v1=pq-p-q
110   continue
      p=u1*u1+v1*v1
        if(p.le.1.0e-20)goto 65
        dx=(u*u1+v*v1)/p
        dy=(u1*v-v1*u)/p
      t=1.0+4.0/k
        goto 60
        end      
        program test
        dimension a(7),xr(6),xi(6),b(7)
        data a/1.0,-5.0,3.0,1.0,-7.0,7.0,-20.0/
        n=7
        m=6
        call dsrrt(a,xr,xi,n,m,l,b)
        if(l.ne.0)then
        do 400 i=1,m
400   continue  
      write(*,500)i,xr(i),xi(i)
      end if
500    format(1x,'x(',i2,1x,')=',e13.6,2x,'j',2x,e13.6)
      end

3Â¥2010-08-07 23:31:38
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
¡ï
nono2009(½ð±Ò-1):×¨ÒµÇøÇëÎð´¿±í¡£Ð»Ð»¡£ 2010-08-09 06:43:37
zyj8119(½ð±Ò+1): 2010-09-09 08:29:21
4Â¥2010-08-08 00:10:07
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)

ÎÒ˵µÃºÜÇå³þ°¡£¬ÎÒÖ»ÄÜÕÒµ½ÄĸöµØ·½ÓÐÎÊÌ⣬µ«ÎÒûÓÐÄÜÁ¦½â¾öÎÊÌ⣬ºÇºÇ¡­¡­
5Â¥2010-08-08 21:25:01
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)

¡ï
resonant(½ð±Ò+1):en,gotoÌ«¶àµÄ³ÌÐòºÜ·³ÈËÄÎ...¹þ¹þ 2010-08-08 23:31:08
ÊÔןúÁËһϣ¬·¢ÏÖÌ«À§ÄÑÁË£¬±»ÀïÃæµÄ goto ¸ãÔÎÁË£¿Õâ¸ö³ÌÐòÊÇÄãдµÄÂð£¿Èç¹ûÊÇ£¬Ïë°ì·¨ÖØÐÂÀíһϽṹ£¬¾¡¿ÉÄÜÉÙÓà goto¡­¡­
6Â¥2010-08-08 22:27:53
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zyj8119

ľ³æ (ÖøÃûдÊÖ)

´ËÌù½áÌù¡£
ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
7Â¥2010-09-09 08:29:35
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ zyj8119 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] ±¾¿Æ211 ¹¤¿Æ085400 280·ÖÇóµ÷¼Á ¿É¿çרҵ +11 LZH£¨µÈ´ýµ÷¼ÁÖÐ 2026-04-10 11/550 2026-04-11 08:39 by zhq0425
[¿¼ÑÐ] Ò»Ö¾Ô¸211£¬»¯Ñ§Ñ§Ë¶£¬310·Ö£¬±¾¿ÆÖصãË«·Ç£¬Çóµ÷¼Á +17 ŬÁ¦·Ü¶·112 2026-04-06 20/1000 2026-04-11 00:31 by wangjihu
[¿¼ÑÐ] ²ÄÁÏÓ뻯¹¤µ÷¼Á +12 ·ñ¼«Ì©À´2026 2026-04-10 13/650 2026-04-11 00:28 by wangjihu
[¿¼ÑÐ] ³õÊÔ261 +3 AshtÉÙ 2026-04-10 6/300 2026-04-10 16:38 by AshtÉÙ
[¿¼ÑÐ] 282£¬µçÆø¹¤³Ìרҵ£¬Çóµ÷¼Á£¬²»Ìôרҵ +9 jggshjkkm 2026-04-10 9/450 2026-04-10 14:55 by ÄæË®³Ë·ç
[¿¼ÑÐ] 296Çóµ÷¼Á +6 Íô£¡£¿£¡ 2026-04-08 6/300 2026-04-10 11:02 by mattzhming
[¿¼²©] ²©Ê¿×Ô¼ö +7 ¿É¿ÉСÅÖ 2026-04-08 7/350 2026-04-10 08:28 by kimhero
[¿¼ÑÐ] 314Çóµ÷¼Á +14 weltZeng 2026-04-09 14/700 2026-04-09 23:14 by wolf97
[¿¼ÑÐ] µ÷¼Á +19 2261744733 2026-04-08 19/950 2026-04-09 19:11 by vgtyfty
[¿¼ÑÐ] ²ÄÁÏר˶³õÊÔ·Ö332Ò»Ö¾Ô¸Î÷±±¹¤Òµ´óѧ£¬ +12 ¹ÊÈË?? 2026-04-09 12/600 2026-04-09 18:34 by Ccclqqq
[¿¼ÑÐ] 085600²ÄÁÏÓ뻯¹¤301·ÖÇóµ÷¼ÁԺУ +33 ´ÌÍ´jk 2026-04-06 34/1700 2026-04-09 18:31 by hy861222
[¿¼ÑÐ] Ò»Ö¾Ô¸ÖпÆÔº105500רҵ×Ü·Ö315Çóµ÷¼Á +6 lallalh 2026-04-09 7/350 2026-04-09 17:51 by lallalh
[¿¼ÑÐ] Ò»Ö¾Ô¸ÏôóÉúÎïѧ332Çóµ÷¼Á +10 ³Ø³Ø³Ø³Ø³Ø³Ø 2026-04-08 10/500 2026-04-09 17:10 by ¶À×íÃι³Ç
[¿¼ÑÐ] Ò»Ö¾Ô¸211£¬»¯Ñ§Ñ§Ë¶£¬310·Ö£¬±¾¿ÆÖصãË«·Ç£¬Çóµ÷¼Á +10 ŬÁ¦·Ü¶·112 2026-04-07 10/500 2026-04-08 15:01 by screening
[¿¼ÑÐ] 085602µ÷¼Á ³õÊÔ×Ü·Ö335 +3 19123253302 2026-04-06 3/150 2026-04-07 18:00 by jp9609
[¿¼ÑÐ] 085100½¨Öþѧ ѰÇó¿çרҵµ÷¼Á Ò»Ö¾Ô¸ÄÏ´ó294·Ö У¼¶Ê¡¼¶¹ú¼Ò¼¶½±ÏîÈô¸É ̤ʵ¿Ï¸É +3 1021075758 2026-04-06 4/200 2026-04-07 09:23 by À¶ÔÆË¼Óê
[¿¼ÑÐ] 26×ÔÈ»µØÀíѧ303·ÖÇóµ÷¼Á +4 Ò»Õ½³É˶°¡°¡°¡° 2026-04-06 9/450 2026-04-06 20:35 by lin-da
[¿¼ÑÐ] Ò»Ö¾Ô¸ÄϺ½£¬ÊýһӢһѧ˶317Çóµ÷¼Á£¡£¡ +6 Acaciad 2026-04-04 6/300 2026-04-06 12:13 by ¿¼ÑÐѧУÕеãÈË
[¿¼ÑÐ] 308Çóµ÷¼Á +3 ÖÕ²»ËÆ´Óǰ 2026-04-05 3/150 2026-04-05 20:07 by à£à£à£0119
[¿¼ÑÐ] 277Çóµ÷¼Á +5 ¿¼Ñе÷¼Álxh 2026-04-05 5/250 2026-04-05 19:03 by chy09050039
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û