Fortran Coder

查看: 14055|回复: 5
打印 上一主题 下一主题

[求助] fortran中向量可以和数字比较大小吗

[复制链接]

7

帖子

3

主题

0

精华

入门

F 币
42 元
贡献
24 点
跳转到指定楼层
楼主
发表于 2019-4-12 09:33:38 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
新手求助各位大佬,a = MERGE(0.0_8,a,abs(a)<1.0e-20_8)
这个命令里面a是一个向量(REAL(8), DIMENSION(n)         :: a),1.请问向量可以和具体的数字比较大小吗?即abs(a)<1.0e-20_8
2.如果这个命令是可以运行的,那是不是针对a向量里面的每一个元素进行上述merge的操作呢?
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

7

帖子

3

主题

0

精华

入门

F 币
42 元
贡献
24 点
沙发
 楼主| 发表于 2019-4-12 10:02:53 | 显示全部楼层
胡文刚 发表于 2019-4-12 09:43
如果 a 是数组,那么 abs(a) < 1.0e-20_8 结果就是 逻辑型数组,类似于 logical z(n)

merge( x , y , z ) ...

谢谢~ fortran竟然是这样操作的hhh,好有意思,学习了学习了,多谢大佬

7

帖子

3

主题

0

精华

入门

F 币
42 元
贡献
24 点
板凳
 楼主| 发表于 2019-6-27 11:28:01 | 显示全部楼层
胡文刚 发表于 2019-4-12 09:43
如果 a 是数组,那么 abs(a) < 1.0e-20_8 结果就是 逻辑型数组,类似于 logical z(n)

merge( x , y , z ) ...

您好,感谢您的回复,还有一个问题
MERGE(SUM(gmat(:,1)*avec*bvec), 0.0_8, af==1 .and. bf==12)
其中gmat是n1×n2维矩阵,avec, bvec, af, bf 都是n1维的向量,我想请问一下这个结果是输出什么呢
因为我一直以为merge(x,y,z)里面x,y,z应该有相同维度,但是上式中的第一个位置用了sum函数,我以为sum输出的是一个数,所以我不知道怎么理解这个式子~

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

本版积分规则

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

GMT+8, 2024-5-16 00:42

Powered by Tencent X3.4

© 2013-2024 Tencent

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