Fortran Coder

查看: 3381|回复: 8
打印 上一主题 下一主题

[求助] cdexp 指数函数使用报错

[复制链接]

28

帖子

9

主题

0

精华

熟手

F 币
114 元
贡献
68 点
跳转到指定楼层
楼主
发表于 2023-2-24 20:26:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
使用指数函数的时候 数据类型报错了,有同学知道原因吗求助

QQ图片20230224202250.png (19.5 KB, 下载次数: 160)

QQ图片20230224202250.png

QQ图片20230224202306.png (3.25 KB, 下载次数: 155)

QQ图片20230224202306.png
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

1958

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1341 元
贡献
565 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2023-2-24 21:08:25 | 只看该作者
因为 cdexp 只能用 complex(kind=8) 类型的输入。注意 complex*8 等效于 complex(kind=4)

其实,直接改成 exp 即可。
详解 http://whyd.w.fcode.cn

28

帖子

9

主题

0

精华

熟手

F 币
114 元
贡献
68 点
板凳
 楼主| 发表于 2023-2-24 21:21:13 | 只看该作者
EXP是可以算虚数吗请问
我们用的是complex16

1958

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1341 元
贡献
565 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

地板
发表于 2023-2-24 21:24:31 | 只看该作者
lili 发表于 2023-2-24 21:21
EXP是可以算虚数吗请问
我们用的是complex16

可以,只要你传入的是 complex 类型。
注意, complex*16 和 complex(16) 或 complex(kind=16) 不是一回事。
complex*16 等效于 complex(8) 或 complex(kind=8)
而 cdexp 只适合于 complex(8)

如果是 complex(16) ,需要用 cqexp。

其实,只要写 exp 就行了。详解上面的链接。

28

帖子

9

主题

0

精华

熟手

F 币
114 元
贡献
68 点
5#
 楼主| 发表于 2023-2-24 21:39:34 | 只看该作者
大佬,我们用的是complex*16,我们用CDEXP的时候显示数据类型错误是为啥呀,里面有一个data fai ,和这个有关系吗        DATA THETA,FAI/0.314159260D0,1.5707963D0/

1958

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1341 元
贡献
565 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

6#
发表于 2023-2-24 23:06:14 | 只看该作者
1. 试试直接改为 exp
2. 给出错误行代码,及对应变量的定义
3. 和 data fai 无关

28

帖子

9

主题

0

精华

熟手

F 币
114 元
贡献
68 点
7#
 楼主| 发表于 2023-2-25 10:00:27 | 只看该作者
这是我们错误行的代码,和对应变量的定义,求大佬指点
        DO I=1,NNJ-1          
        A(I,I+1+NNJ)=-2*TSO*cos(0.50D0*FAI)*SIN(THETA1)
        &*EXP(-COMI*(I*FAI-0.50D0*FAI))

        COMPLEX*16                   A(NNJT,NNJT)

28

帖子

9

主题

0

精华

熟手

F 币
114 元
贡献
68 点
8#
 楼主| 发表于 2023-2-25 10:04:51 | 只看该作者
fcode 发表于 2023-2-24 23:06
1. 试试直接改为 exp
2. 给出错误行代码,及对应变量的定义
3. 和 data fai 无关

我用EXP算了一下,可以出结果,但是因为我的e指数是复数,老师想让我用CDEXP算,这样应该会更准确,但是就会出现最开始我发帖的那种问题,不知道是为啥呢?

1958

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1341 元
贡献
565 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

9#
发表于 2023-2-28 16:03:24 | 只看该作者
lili 发表于 2023-2-25 10:04
我用EXP算了一下,可以出结果,但是因为我的e指数是复数,老师想让我用CDEXP算,这样应该会更准确,但是 ...

请认真阅读 http://whyd.w.fcode.cn
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-4-24 10:10

Powered by Tencent X3.4

© 2013-2024 Tencent

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