vvt 发表于 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

zengji630 发表于 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,也重新调整了一下函数的计算顺序,还是出现一样的结果。是不是我的迭代有问题呢?:-loveliness:

zengji630 发表于 2014-12-11 10:12:16

zengji630 发表于 2014-12-11 10:05
谢谢你的帮助。我检查了一下dFunCO2,也重新调整了一下函数的计算顺序,还是出现一样的结果。是不是我的迭 ...

代码和附件都更新了一下:-lol

vvt 发表于 2014-12-11 23:30:50

本帖最后由 vvt 于 2014-12-11 23:50 编辑

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

比如:
SCO2= 0.063*abs(PaCO20)**(50000./60181)
   +/(1+0.63*abs(PaCO20)**(50000./60181)+0.275*ST(PaO20+COMM*PaCO0) )

zengji630 发表于 2014-12-12 16:05:48

vvt 发表于 2014-12-11 23:30
我说寻找 0.83083 的小数形式,并不是说,改成小数形式就可以解决问题的。
而是可以看出它是一个偶函数(只 ...

嗯嗯,知道啦。谢谢的解答:-lol
我想请问一下
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有没有被赋值成功?

fcode 发表于 2014-12-13 09:25:14

只要这条语句执行了,赋值语句一定会成功。

zengji630 发表于 2014-12-16 15:08:54

fcode 发表于 2014-12-13 09:25
只要这条语句执行了,赋值语句一定会成功。

谢谢你的解答
页: 1 [2]
查看完整版本: 大家好,负数取小数指数的问题