回 帖 发 新 帖 刷新版面

主题:关于imsl下用.i.求逆矩阵的几点疑问

program exammm
use imsl
implicit none
   real:: v=2.3
   integer i
   real h00(6,6)
   real h0(6,6)
   h00=0.0
  do i=1,6
    if(mod(i,2)==0) then      
        h00(i,i-1)=v
    else       
        h00(i,i+1)=v        
    end if
  end do

  h0=.i.h00     !这里求逆
  write(*,*) h0 !能得到逆矩阵的值

 end program
以上是程序代码。运行可以得到逆矩阵h0。
但是如果我调试程序,F11,运行到

h0=.i.h00     

会提示你: please enter the path for OPERATION_I F90

或者有时会提示:please enter the path for CRT0.C
后面这个提示不是每次都会出现,偶尔会出现,为什么会有这样事呢?

[em7][em7][em7][em8][em8][em8][em10][em10][em10][em12][em12][em12]

回复列表 (共7个回复)

沙发

編譯器以為你想調試.i.對應的函數,所以會進去這個函數,但進入函數時發現這函數對應的源碼找不到,故問您:這源碼對應的文件呢?
如果您用step over,而不用step into的話,它就不會提示了:)

板凳

在ivf下试试!其实你不必关心 .i. 具体干了什么,只要检验一下结果即可。

program exammm
include 'link_fnl_shared.h'
use imsl_libraries

implicit none
   real:: v=2.3
   integer i,j
   real h00(6,6)
   real h0(6,6),h(6,6)
   h00=0.0
  do i=1,6
    if(mod(i,2)==0) then      
        h00(i,i-1)=v
    else       
        h00(i,i+1)=v        
    end if
  end do

  h0=.i.h00  
  h=h0.x.h00
  write(*,'(6f5.2)') h !检验结果是否为单位矩阵

end program

3 楼

樓主其實碰到的是調試問題,而不是IMSL的問題。

4 楼


我的意思是不必关心 .i.干了什么,不就是求逆么,不必深入到内部,最多就是检验结果一下就行了。

5 楼

嗯,我知道,只是樓主現在在這個帖子里表達的是不明白按下F11為何會出現那樣的提示:)

6 楼


现在应该明白了。

7 楼


明白了。太好了。哈哈[em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2]

我来回复

您尚未登录,请登录后再回复。点此登录或注册