Fortran Coder

楼主: shrine
打印 上一主题 下一主题

[数值问题] 请问双双精度变量赋值时后缀加什么?

[复制链接]

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
楼主
发表于 2017-8-13 16:24:57 | 显示全部楼层
是的,就像这样
Real , parameter :: QP = Selected_real_kind( 18 )
Real(Kind=QP) :: a = 3.14_QP

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2017-8-14 08:23:28 | 显示全部楼层
的确是笔误,应该是
Integer , parameter :: QP = Selected_real_kind( 18 )
Real(Kind=QP) :: a = 3.14_QP

不写 dsqrt ,直接写 sqrt 即可,它适用于任何kind值。
详解 http://whyd.w.fcode.cn

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
板凳
发表于 2017-11-9 15:06:20 | 显示全部楼层
向量,矩阵,是数学概念。
编程里只有一维数组,二维数组的概念。

通常我们用一维数组表示向量,二维数组表示矩阵。(但仅仅是表示,而非相等的概念)
其实 1*N 的二维数组,也可以表示向量。
matmul,必须对两个“二维数组”进行,并且结果也是二维数组(哪怕是1*1的二维数组呢)。显然,a(:,1) 是一维数组。(而 a(:,1:1)却是二维数组)

因此,你的选择可以是:
1. 改用 integer c(1,1) ; c = matmul( b , a(:,1:1) )
2. 改用 c = dot_product( b(1,:) , a(:,1) ) 此时是应用内积的算法
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-5 06:50

Powered by Tencent X3.4

© 2013-2024 Tencent

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