Fortran Coder

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

[数值问题] 大家好,负数取小数指数的问题

[复制链接]

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

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

QQ
11#
发表于 2014-12-10 20:02:03 | 只看该作者
i , j , k 循环是。当 i = 1 , j = 2 , k = 2 时,
PaCO2 = PaCO20 - FunCO2(PaCO20)/ dFunCO2(PaCO20)
结果大概是 -2.0 导致负数

在上一次迭代时,PaCO20 = 55.41635,FunC02(PaCO20) = 342.9697 , dFunCO2 = 5.932721

所以 55.41635 - 342.9697 / 5.932721 = -2

18

帖子

3

主题

0

精华

入门

F 币
98 元
贡献
58 点
12#
 楼主| 发表于 2014-12-11 10:05:30 | 只看该作者
vvt 发表于 2014-12-10 20:02
i , j , k 循环是。当 i = 1 , j = 2 , k = 2 时,
PaCO2 = PaCO20 - FunCO2(PaCO20)/ dFunCO2(PaCO20)
结 ...

谢谢你的帮助。我检查了一下dFunCO2,也重新调整了一下函数的计算顺序,还是出现一样的结果。是不是我的迭代有问题呢?

18

帖子

3

主题

0

精华

入门

F 币
98 元
贡献
58 点
13#
 楼主| 发表于 2014-12-11 10:12:16 | 只看该作者
zengji630 发表于 2014-12-11 10:05
谢谢你的帮助。我检查了一下dFunCO2,也重新调整了一下函数的计算顺序,还是出现一样的结果。是不是我的迭 ...

代码和附件都更新了一下

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

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

QQ
14#
发表于 2014-12-11 23:30:50 | 只看该作者
本帖最后由 vvt 于 2014-12-11 23:50 编辑

我说寻找 0.83083 的小数形式,并不是说,改成小数形式就可以解决问题的。
而是可以看出它是一个偶函数(只考虑实数域),所以可以在 x 上取一个 abs(x) 绝对值。

比如:
[Fortran] 纯文本查看 复制代码
SCO2  = 0.063*abs(PaCO20)**(50000./60181)
     +  /(1+0.63*abs(PaCO20)**(50000./60181)+0.275*ST(PaO20+COMM*PaCO0) )

18

帖子

3

主题

0

精华

入门

F 币
98 元
贡献
58 点
15#
 楼主| 发表于 2014-12-12 16:05:48 | 只看该作者
vvt 发表于 2014-12-11 23:30
我说寻找 0.83083 的小数形式,并不是说,改成小数形式就可以解决问题的。
而是可以看出它是一个偶函数(只 ...

嗯嗯,知道啦。谢谢的解答
我想请问一下
SCO2  = 0.063*PaCO20**0.83083 /(1+0.63*PaCO20**0.83083+0.275*ST(PaO20+COMM*PaCO0) )
CaCO2 = AbCO2*PaCO20 + XNCO2*SCO2
CICO2(J) = CaCO2
CVCO2=CICO2(J)这里CVCO2有没有被赋值成功?

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1641 元
贡献
709 点

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

16#
发表于 2014-12-13 09:25:14 | 只看该作者
只要这条语句执行了,赋值语句一定会成功。

18

帖子

3

主题

0

精华

入门

F 币
98 元
贡献
58 点
17#
 楼主| 发表于 2014-12-16 15:08:54 | 只看该作者
fcode 发表于 2014-12-13 09:25
只要这条语句执行了,赋值语句一定会成功。

谢谢你的解答
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-24 01:47

Powered by Tencent X3.4

© 2013-2024 Tencent

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