Fortran Coder

查看: 77|回复: 4

[数值问题] 运行时出错,access violation.

[复制链接]

11

帖子

4

主题

0

精华

入门

F 币
69 元
贡献
36 点

规矩勋章

发表于 2020-11-18 00:33:02 | 显示全部楼层 |阅读模式
real function F(x,y,m,n)
    implicit none
    real::x,y,pi
    integer :: m,n
    PI=4.d0*ATAN(1.d0)
    F = exp((0.d0,-1.d0)*(2.d0*pi*x/m+2.d0*pi*y/n))
    end function

    program test
    include 'link_fnl_shared.h'
    implicit none
    real:: F


    real, parameter :: ERRABS = 0.001
    real, parameter :: ERRREL = 0.001
    integer, parameter :: IRULE = 6

    real:: G,H
    real :: ANS
    real :: ERREST
    integer :: i,j
    real::x1,y1
    real :: A,B,k
    A = -0.5
    B = 0.5

    do i=1,10
    do j=1,10
    k=F(x1,y1,i,j)
    call TWODQ (k, A, B, G, H, ERRABS, ERRREL, IRULE, ANS, ERREST)
    write(*,*) ANS
    end do
    end do
    end program test

    real function G(X)
    implicit none
    real X
    G = -0.5
    return
    end function

    real function H(X)
    implicit none
    real X
    H = 0.5
    return
    end function

目的是为了求e^-i(2pi*x/n+2pi*y/m)的二重积分,m和n是变的,但是运行会报错

回复

使用道具 举报

11

帖子

4

主题

0

精华

入门

F 币
69 元
贡献
36 点

规矩勋章

 楼主| 发表于 2020-11-18 00:34:47 | 显示全部楼层
错误如图所示
XT{G4HJ_R9L`]3L`)MO$JC7.png

74

帖子

2

主题

0

精华

专家

F 币
578 元
贡献
271 点

规矩勋章

发表于 2020-11-18 04:53:04 | 显示全部楼层
x1, y1在调用 F 前没有赋值。

11

帖子

4

主题

0

精华

入门

F 币
69 元
贡献
36 点

规矩勋章

 楼主| 发表于 2020-11-18 09:35:58 | 显示全部楼层
风平老涡 发表于 2020-11-18 04:53
x1, y1在调用 F 前没有赋值。

能具体讲一下么

74

帖子

2

主题

0

精华

专家

F 币
578 元
贡献
271 点

规矩勋章

发表于 2020-11-19 01:15:53 | 显示全部楼层
Botton 发表于 2020-11-18 09:35
能具体讲一下么

k=F(x1,y1,i,j) 在调用这个函数时,i和J都有赋值,X1和Y1没有赋值。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2020-12-5 10:14

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

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