开启辅助访问 切换到窄版
搜索

Fortran Coder

 找回密码
 极速注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

[复制链接]

菜鸟求助:IVF中实矩阵求逆用哪个函数啊?

[数学库]
sailor8 发表于 2016-12-31 10:58:15 查看350 回复11 阅读模式
原先CVF还了解一点,现在用IVF有点迷糊了。求逆矩阵不是.i.了吗?
[Fortran] 纯文本查看 复制代码
program main
    use imsl_libraries
    implicit none
    integer,parameter::n=3
    real::a(n,n)=(/1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0/)
    real::b(n,n)=(/5.0,6.0,4.0,8.0,9.0,7.0,2.0,3.0,1.0/)
    real::c(n,n)
    c=.i.a
    write(*,*)c
    end program
求指点
多谢多谢!
回复

使用道具 举报

vvt 发表于 2016-12-31 11:21:06
cvf 中自动安装了 4.0 版本的 IMSL
现在您用 IVF,默认是不带有 IMSL 的,并且 4.0 的无法使用。

你需要:
1.安装高版本的IMSL
2.配置并使用

详解本论坛视频教程:http://v.fcode.cn/video-use_library.html
sailor8  楼主 发表于 2016-12-31 13:53:57
vvt 发表于 2016-12-31 11:21
cvf 中自动安装了 4.0 版本的 IMSL
现在您用 IVF,默认是不带有 IMSL 的,并且 4.0 的无法使用。

多谢多谢,先学习一下,有问题再向您请教。
新手的福音啊
weixing1531 发表于 2016-12-31 21:37:54 来自移动端
矩阵求逆Excel
weixing1531 发表于 2016-12-31 21:38:29 来自移动端
矩阵求逆Excel有现成的函数
sailor8  楼主 发表于 2017-1-1 10:13:59
经过提升,程序能运行了,不过只要是加上USE operation_x就报错误
        1        Compilation Aborted (code 1)        
不知道是哪里出了问题?
在工具-选项-IVF-compiles里面的includes和lib已经把相关的
    C:\Program Files (x86)\VNI\imsl\fnl600\Intel64\include\dll
    C:\Program Files (x86)\VNI\imsl\fnl600\Intel64\include\static
和C:\Program Files (x86)\VNI\imsl\fnl600\Intel64\lib
都加上了。
纠结啊,求指教,多谢多谢。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[Fortran] 纯文本查看 复制代码
program main
    include 'link_fnl_shared.h'
    include 'link_fnl_static.h'
use operation_x !//这句
implicit none
    integer,parameter::m=3,n=3
    integer::mi,ni,iaq,jaq
    real,parameter::hoa=7.0,h=0.1
    real::a(m,n)
    real::t(m,n)
    real::e(m,n)
    !
    open(24,file='test12311339.txt')
    do mi=1,m
       do ni=1,n
        t(mi,ni)=hoa*ni+hoa*mi
        a(mi,ni)=hoa*(ni-1)+hoa*mi
        end do
    end do
    e=a.x.t
    write(24,*)e
    end program
sailor8  楼主 发表于 2017-1-1 10:20:56
weixing1531 发表于 2016-12-31 21:38
矩阵求逆Excel有现成的函数

嗯嗯 是的,不过求逆这个运算是一个大程序里面的一部分,单独拿出来计算可能会不方便了。
谢谢你
vvt 发表于 2017-1-1 10:44:28
IMSL 的 bug
回复

使用道具 举报

sailor8  楼主 发表于 2017-1-2 08:09:22


有什么解决的建议吗?
多谢多谢了
vvt 发表于 2017-1-2 08:12:06
1. 用 matmul 代替 .x. 进行矩阵相乘。
2. 用 IMSL 5.0 代替 6.0和7.0(因为它们有bug)
3. 用 MKL 、Lapack 等代替 IMSL 进行求逆。

选其一
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则 长代码粘贴

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表