Fortran IMSL库申请学生许可安装

最近使用IMSL想求个定积分,发现之前用的imsl7.0不支持,也可能说明许可证已经过期,总之不得不自己申请一个许可。

首先是之前的blog:VS2022 Fortran 配置IMSL库

这次自己申请了一个学生许可证,大致需要学校的学生邮箱,学生ID,导师邮箱等,网址为:https://www.imsl.com/student-licenses

大概等了三天左右,官方会回复到你的学生邮箱中,会发一个下载地址,附件为许可证。

进入网址后按着自己的需要下载,我就下载的是win平台的64位的imsl。

 

之后一定要把之前安装过的imsl卸载干净,然后去系统环境中把所有有关之前的配置路径都删干净,否则可能会出现错误。

安装好后,配置vs2022,一切都和上面的blog中的配置方法一样,注意最终的文件夹是不变的(lib,static,dll等),但是前面的路径肯定有所改变。

唯一区别:

把下载下来的许可证改名为imsl_eval,然后放到C:\Program Files (x86)\RogueWave\license即安装目录下的license文件夹中,之前7.0版本文件夹叫VNI现在已经改名为RogueWave了。下面贴上一个官方文档中求定积分的代码,测试没问题,自己配置好可以试试。

    USE QDAGS_INT
    USE UMACH_INT
    IMPLICIT NONE
    INTEGER NOUT
    REAL A, ABS, B, ERRABS, ERREST, ERROR, ERRREL, EXACT, F, &
        RESULT
    INTRINSIC ABS
    EXTERNAL F
    ! Get output unit number
    CALL UMACH (2, NOUT)
    ! Set limits of integration
    A = 0.0
    B = 1.0
    ! Set error tolerances
    ERRABS = 0.0
    CALL QDAGS (F, A, B, RESULT, ERRABS=ERRABS, ERREST=ERREST)
    ! Print results
    EXACT = -4.0
    ERROR = ABS(RESULT-EXACT)
    WRITE (NOUT,99999) RESULT, EXACT, ERREST, ERROR
99999 FORMAT (' Computed =', F8.3, 13X, ' Exact =', F8.3, /, /, &
        ' Error estimate =', 1PE10.3, 6X, 'Error =', 1PE10.3)
    END
    !
    !
    REAL FUNCTION F (X)
    REAL X
    REAL ALOG, SQRT
    INTRINSIC ALOG, SQRT
    F = ALOG(X)/SQRT(X)
    RETURN
    END

 

 

 

你可能感兴趣的:(Fortran,开发语言)