²é¿´: 1617  |  »Ø¸´: 7
±¾Ìû²úÉú 1 ¸ö ³ÌÐòÇ¿Ìû £¬µã»÷ÕâÀï½øÐв鿴

kathy2008

ľ³æ (ÕýʽдÊÖ)

[ÇóÖú] ÈçºÎ´Ó¸ß˹Êä³öÎļþ¿ìËÙÌá³ö pai ¹ìµÀÐÅÏ¢¡£

ÈçÌâ¡£´Ó¸ß˹Êä³öÎļþÌá³öÁËeigenvectorÄÇÒ»²¿·Ö³öÀ´£¬¼´¸½¼þ1¡£ÏÖÔÚÐèÒªµÃµ½ pai ¹ìµÀÐÅÏ¢¡£¼´¸½¼þ2¡£ ¸½¼þ2 ¶ÔÓ¦ÓÚ¸½¼þ1µÄ32ºÅ£¬35ºÅ£¬38ºÅ£¬39ºÅ£¬40ºÅ£¬41ºÅ¹ìµÀ£¨Õ¼¾Ý¹ìµÀ£©£¬42ºÅÒ»Ö±µ½47ºÅ£¨·ÇÕ¼¾Ý¹ìµÀ£©µÄ2PxÖµ¡£ÇóһС³ÌÐò¡£ÇëÖ¸µã¡£Ð»Ð»¡£
»Ø¸´´ËÂ¥
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

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

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¡ï ¡ï
ben_ladeng(½ð±Ò+2): ºÜÏêϸ£¬´ýÂ¥Ö÷ÆÀ¶¨ºó½±Àø³ÌÐòÇ¿Ìû 2011-06-18 17:42:21
kathy2008(½ð±Ò+10): 2011-06-19 13:00:43
΢³¾¡¢ÃÎÏë(³ÌÐòÇ¿Ìû+1): 2011-06-19 17:04:28
´ó¸ÅÕâ¸öÑù×Ó¡£Ö»ÊÇÐèÒªÊÖ¹¤ÊäÈë¹ìµÀºÅ£¨ÕâÑù¿ÉÄÜÁé»îһЩ£©£¬Ã¿´ÎÊäÈëÒ»¸ö¹ìµÀÐòºÅ£¬»Ø³µ£¬ÊäÈë 0 Ôò½áÊøÕû¸ö³ÌÐò¡­¡­
CODE:
program ei
real, dimension(:,:), allocatable :: px,ppx
character(len=256) :: line
character(len=40) :: fm
integer :: nrow, ncol, i, j, k, ios

open(unit=12, file='eigenvector.out', status='old')
open(unit=13, file='2px.out', status='new')

do
   read(12,'(a)', iostat=ios) line
   if (ios /= 0) exit
   if (index(line,'EIGENVALUES') /= 0) then
      nrow=0
      ncol=0
      do
         read(12,'(a)', iostat=ios) line
         if (ios /= 0) exit
         if (line(1:4) == '    ') exit
         ncol=ncol+1
         if (index(line, '2PX') /= 0) nrow=nrow+1
      end do
      exit
   end if
end do

!write (*,*) nrow, ncol
rewind (12)

allocate(px(nrow,ncol),ppx(nrow,ncol))

i=0
j=0
do
   read(12,'(a)', iostat=ios) line
   if (ios /= 0) exit
   if (i == nrow) then
       i=0
       j=j+n
   end if
   if (index(line, '2PX') /= 0) then
       line = line(21:)
!      write(*,*) trim(line)
       i=i+1
       n = len_trim(line)/10
       write(fm,'(a,i0,a)') '(', n, 'f10.5)'
!      write(*,*) j
       read(line,fm) px(i,(j+1):(j+n))
   end if
end do

k=0
do
   write(*,*) 'please input a number between 1 and ', nrow, 'end the program by 0.'
   read(*,*) i
   if(i==0) exit
   k=k+1
   ppx(:,k) = px(:,i)
end do

!write(*,*) k/5, mod(k,5)

if (k>=5) then
   do j=1,k/5
      do i=1,nrow
         write(13,'(5f10.5)') ppx(i,(j-1)*5+1:j*5)
      end do
      write(13,*)
   end do
end if
if (mod(k,5) /=0) then
   write(fm,'(a,i0,a)') '(', mod(k,5), 'f10.5)'
   do i=1,nrow
      write(13, fm) ppx(i,(k/5*5+1):k)
   end do
end if

end program ei

2Â¥2011-06-18 16:41:08
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

kathy2008

ľ³æ (ÕýʽдÊÖ)

¡ï
dubo(½ð±Ò+1): »¶Ó­³£À´³ÌÐòÓïÑÔ°æÌÖÂÛ 2011-07-31 13:36:05
ÒýÓûØÌû:
Originally posted by snoopyzhao at 2011-06-18 16:41:08:
´ó¸ÅÕâ¸öÑù×Ó¡£Ö»ÊÇÐèÒªÊÖ¹¤ÊäÈë¹ìµÀºÅ£¨ÕâÑù¿ÉÄÜÁé»îһЩ£©£¬Ã¿´ÎÊäÈëÒ»¸ö¹ìµÀÐòºÅ£¬»Ø³µ£¬ÊäÈë 0 Ôò½áÊøÕû¸ö³ÌÐò¡­¡­

[code]
program ei
real, dimension(:,, allocatable :: px,ppx
character(len=256 ...

ÀûÓøóÌÐòÌáÈ¡¦Ð¹ìµÀÐÅÏ¢£¬±¨´í¡£ÐÅÏ¢ÈçÏÂ
At line 48 of file eigen-pai-nc3h7-r2.f
Fortran runtime error: Bad value during floating point read

googleҲûÓÐÕÒµ½Ó¦¶ÔÖ®²ß£¬Çë¸ßÊÖÖ¸µã¡£
3Â¥2011-07-03 15:06:57
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

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

¡ï
dubo(½ð±Ò+1): »¶Ó­³£À´³ÌÐòÓïÑÔ°æÌÖÂÛ 2011-07-31 13:36:26
ÄãµÄ .out ÎļþÊÇÕ¦Éú³ÉµÄ£¬Õâ´ÎµÄÕâ¸öÎļþ±ÈÉϴεÄÎļþÿһÐÐÇ°Ãæ¶àÁËÒ»¸ö¿Õ¸ñ¡­¡­

ËùÒÔ£¬Äã°Ñ³ÌÐòÖУº
CODE:
line = line(21:)

¸Ä³É
CODE:
line = line(22:)

¾Í¿ÉÒÔÁË¡­¡­
4Â¥2011-07-03 22:28:17
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

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

¡ï
dubo(½ð±Ò+1): »¶Ó­³£À´³ÌÐòÓïÑÔ°æÌÖÂÛ 2011-07-31 13:36:35
ÕâÑù¿ÉÄܸüºÃһЩ£º
CODE:
      program ei
      implicit none
      real, dimension(:,:), allocatable :: px,ppx
      character(len=256) :: line
      character(len=40) :: fm
      integer :: nrow, ncol, i, j, k, ios, n, m
      
      open(unit=12, file='nc3h7-r2-sto-eiv.out', status='old')
      open(unit=13, file='nc3h7-r2-sto-pai.out', status='new')
      
      do
         read(12,'(a)', iostat=ios) line
         if (ios /= 0) exit
         if (index(line,'Eigenvalues') /= 0) then
            nrow=0
            ncol=0
            do
               read(12,'(a)', iostat=ios) line
               if (ios /= 0) exit
               if (line(1:4) == '    ') exit
               ncol=ncol+1
               if (index(line, '2PZ') /= 0) nrow=nrow+1
            end do
            exit
         end if
      end do
      
      write (*,*) nrow, ncol
      rewind (12)
      
      allocate(px(nrow,ncol),ppx(nrow,ncol))
      
      i=0
      j=0
      do
         read(12,'(a)', iostat=ios) line
         if (ios /= 0) exit
         if (i == nrow) then
             i=0
             j=j+n
         end if
         if (index(line, '2PZ') /= 0) then
             line = line(21:)
!            write(*,*) trim(line)
             i=i+1
             n = len_trim(line)/10
             m = mod(len_trim(line),10)
!            write (*,*) m, n
             if (m /= 0) then
                write(fm,'(a,i0,a,i0,a)') '(tr',m,',',n,'f10.5)'
             else
                write(fm,'(a,i0,a)') '(',n,'f10.5)'
             end if
!            write (*,*) fm
!            write(*,*) j
             read(line,fm) ppx(i,(j+1):(j+n))
         end if
      end do
      
      k=0
      do
         write(*,*) 'please input a number between 1 and ',nrow,',
     & end the program by 0.'
         read(*,*) i
         if(i==0) exit
         k=k+1
         ppx(:,k) = px(:,i)
      end do
      
      !write(*,*) k/5, mod(k,5)
      
      if (k>=5) then
         do j=1,k/5
            do i=1,nrow
               write(13,'(5f10.5)') ppx(i,(j-1)*5+1:j*5)
            end do
            write(13,*)
         end do
      end if
      if (mod(k,5) /=0) then
         write(fm,'(a,i0,a)') '(', mod(k,5), 'f10.5)'
         do i=1,nrow
            write(13, fm) ppx(i,(k/5*5+1):k)
         end do
      end if
      
      end program ei

5Â¥2011-07-03 22:59:20
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

kathy2008

ľ³æ (ÕýʽдÊÖ)

¡ï
dubo(½ð±Ò+1): »¶Ó­³£À´³ÌÐòÓïÑÔ°æÌÖÂÛ 2011-07-31 13:36:56
ÒýÓûØÌû:
Originally posted by snoopyzhao at 2011-07-03 22:28:17:
ÄãµÄ .out ÎļþÊÇÕ¦Éú³ÉµÄ£¬Õâ´ÎµÄÕâ¸öÎļþ±ÈÉϴεÄÎļþÿһÐÐÇ°Ãæ¶àÁËÒ»¸ö¿Õ¸ñ¡­¡­

ËùÒÔ£¬Äã°Ñ³ÌÐòÖУº
CODE:
line = line(21:)

¸Ä³É
CODE:
line = line(22:)

¾Í¿ÉÒÔÁË¡­¡­

ÔËÐк󱨴íÐÅÏ¢ÈçÏÂ:
*** glibc detected *** ./a.out: double free or corruption (out): 0x00000000079e2980 ***
======= Backtrace: =========
/lib64/libc.so.6[0x3e64871ce2]
/lib64/libc.so.6(cfree+0x8c)[0x3e6487590c]
./a.out[0x4012c5]
./a.out[0x4019de]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x3e6481d974]
./a.out[0x400a99]
6Â¥2011-07-04 07:23:29
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

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

¡ï
jjdg(½ð±Ò+1): ¸Ðл²ÎÓë 2011-07-04 12:46:36
ÎÒ²Å×¢Òâµ½£¬Äã°ÑÎÒÔÚ¶þÂ¥¸ø³öµÄ³ÌÐòÖеÄ
CODE:
read(line,fm) px(i,(j+1):(j+n))

¸Ä³ÉÁË
CODE:
read(line,fm) ppx(i,(j+1):(j+n))

º¦µÃÎÒŪÁ˰ëÌì²ÅÖªµÀΪɶ³öÀ´µÄ½á¹û×ÜÊDz»¶Ô¡£
7Â¥2011-07-04 09:48:55
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

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

¡ï ¡ï
jjdg(½ð±Ò+2): ÐÁ¿àÁË 2011-07-04 12:46:22
ÁíÍ⣬ԭ³ÌÐòÖÐ
CODE:
write(*,*) 'please input a number between 1 and ', nrow, 'end the program by 0.'

Ó¦¸Ã¸ÄΪ
CODE:
write(*,*) 'please input a number between 1 and ', ncol, 'end the program by 0.'

8Â¥2011-07-04 09:50:20
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ kathy2008 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 26¿¼ÑÐÒ»Ö¾Ô¸ÖйúʯÓÍ´óѧ(»ª¶«)305·ÖÇóµ÷¼Á +4 ¼ÎÄêÐÂ³Ì 2026-03-15 4/200 2026-03-21 14:44 by allen-yin
[¿¼ÑÐ] 306Çóµ÷¼Á +4 chuanzhu´¨Öò 2026-03-18 4/200 2026-03-21 08:25 by laoshidan
[¿¼ÑÐ] 280Çóµ÷¼Á +7 ¹¾ààÏþÏþ 2026-03-18 8/400 2026-03-21 01:27 by JourneyLucky
[¿¼ÑÐ] 274Çóµ÷¼Á +10 S.H1 2026-03-18 10/500 2026-03-20 23:51 by JourneyLucky
[¿¼ÑÐ] ÖÐÄÏ´óѧ»¯Ñ§Ñ§Ë¶337Çóµ÷¼Á +3 niko- 2026-03-19 6/300 2026-03-20 21:58 by luoyongfeng
[¿¼ÑÐ] AÇøÏß²ÄÁÏѧµ÷¼Á +5 ÖÜÖÜÎÞ¼« 2026-03-20 5/250 2026-03-20 21:33 by laoshidan
[¿¼ÑÐ] ²ÄÁÏѧ˶297ÒѹýËÄÁù¼¶Çóµ÷¼ÁÍÆ¼ö +11 adaie 2026-03-19 11/550 2026-03-20 21:30 by laoshidan
[ÂÛÎÄͶ¸å] ÉêÇë»Ø¸åÑÓÆÚÒ»¸öÔ£¬±à¼­Í¬ÒâÁË¡£µ«ÏµÍ³ÉϵÄʱ¼äû±ä£¬¸ø±à¼­ÓÖдÓʼþÁË£¬Ã»»Ø¸´ 10+3 wangf9518 2026-03-17 4/200 2026-03-19 23:55 by babero
[¿¼²©] É격26Äê +3 °Ë6°Ë68 2026-03-19 3/150 2026-03-19 19:43 by nxgogo
[¿¼ÑÐ] 286Çóµ÷¼Á +6 lemonzzn 2026-03-16 10/500 2026-03-19 14:31 by lemonzzn
[¿¼ÑÐ] 0703»¯Ñ§µ÷¼Á +5 pupcoco 2026-03-17 8/400 2026-03-19 13:58 by houyaoxu
[¿¼ÑÐ] Ò»Ö¾Ô¸985£¬±¾¿Æ211£¬0817»¯Ñ§¹¤³ÌÓë¼¼Êõ319Çóµ÷¼Á +10 Liwangman 2026-03-15 10/500 2026-03-19 10:25 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] 312Çóµ÷¼Á +8 İå·Ï£ 2026-03-16 9/450 2026-03-18 12:39 by Linda Hu
[¿¼ÑÐ] 334Çóµ÷¼Á +3 Ö¾´æ¸ßÔ¶ÒâÔÚ»úÐ 2026-03-16 3/150 2026-03-18 08:34 by lm4875102
[¿¼ÑÐ] 277µ÷¼Á +5 ×ÔÓɼå±ý¹û×Ó 2026-03-16 6/300 2026-03-17 19:26 by Àîleezz
[¿¼ÑÐ] ²ÄÁϹ¤³Ìר˶274Ò»Ö¾Ô¸211Çóµ÷¼Á +6 Ñ¦ÔÆÅô 2026-03-15 6/300 2026-03-17 11:05 by ѧԱh26Tkc
[¿¼ÑÐ] [µ¼Ê¦ÍƼö]Î÷ÄϿƼ¼´óѧ¹ú·À/²ÄÁϵ¼Ê¦ÍƼö +3 ¼â½ÇСºÉ 2026-03-16 6/300 2026-03-16 23:21 by ¼â½ÇСºÉ
[¿¼ÑÐ] 321Çóµ÷¼Á +5 ´óÃ×·¹£¡ 2026-03-15 5/250 2026-03-16 16:33 by houyaoxu
[¿¼ÑÐ] 0856Çóµ÷¼Á +3 ÁõÃÎ΢ 2026-03-15 3/150 2026-03-16 10:00 by houyaoxu
[¿¼ÑÐ] 070305Çóµ÷¼Á +3 mlpqaz03 2026-03-14 4/200 2026-03-15 11:04 by peike
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û