24小时热门版块排行榜    

查看: 1169  |  回复: 10

duwei789551

新虫 (小有名气)

[求助] 求助,两个uds变量相除就显示发散是什么问题? 已有1人参与

如题,需要计算保存为两个标量方程源项的比值。当只用这一段代码时
r=C_UDSI(c,c_thread,1)/C_UDSI(c,c_thread,0);
计算一开始就显示uds-1发散;

为避免发散出现,对分母做出限制
if (C_UDSI(c,c_thread,0)<=1.0)
{
        r=0.00000001;
}
else
{
        r=C_UDSI(c,c_thread,1)/C_UDSI(c,c_thread,0);
}
这样的话算到途中,uds迭代曲线将要出现的时候显示uds-1发散;

不加r=C_UDSI(c,c_thread,1)/C_UDSI(c,c_thread,0);这句话就没有问题,不知是什么原因
谢谢解答!
回复此楼
qq:2777094835
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qc12345

至尊木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
duwei789551: 金币+100, ★★★★★最佳答案, 解决问题 2016-10-13 20:05:11
設s=C_UDSI(c,c_thread,0)再相除

» 本帖已获得的红花(最新10朵)

聽海
2楼2016-10-12 17:59:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duwei789551

新虫 (小有名气)

送红花一朵
引用回帖:
2楼: Originally posted by qc12345 at 2016-10-12 17:59:34
設s=C_UDSI(c,c_thread,0)再相除

我的程序是这样的
标量方程1源相:
real s;
...
s=C_UDSI(c,c_thread,0;
if (C_UDSI(c,c_thread,0)<=1.0)
{
        r=0.00000001;
}
else
{
        r=C_UDSI(c,c_thread,1)/s;
}
J=pow(rou,2.0)/roul;
C_UDSI(c,c_thread,0)=J;
C_UDMI(c,c_thread,0)=J;
dS[eqn]=0.0;
        return J;
源相方程2
real s;
...
s=C_UDSI(c,c_thread,0;
if (C_UDSI(c,c_thread,0)<=1.0)
{
        r=0.00000001;
}
else
{
        r=C_UDSI(c,c_thread,1)/s;
}
...
yihao=C_UDMI(c,c_thread,0)*r+C_UDSI(c,c_thread,0)*rou;
C_UDSI(c,c_thread,1)=yihao;
C_UDMI(c,c_thread,5)=yihao;
dS[eqn]=0.0;
return yihao;
改写成这样还是算到迭代曲线出现时发散,不知道有什么问题
qq:2777094835
3楼2016-10-13 11:28:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qc12345

至尊木虫 (职业作家)

???????:
3?: Originally posted by duwei789551 at 2016-10-13 11:28:41
??????????????
????????1???
real s??
...
s=C_UDSI(c,c_thread,0??
if (C_UDSI(c,c_thread,0)<=1.0)
{
        r=0.00000001;
}
else
{
        r=C_UDSI(c,c_thread,1)/s;
}
J=pow(rou,2.0)/roul??
C_U ...

???????,??message??printf?????P??г???????,????t?↖?}???????
聽海
4楼2016-10-13 14:00:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qc12345

至尊木虫 (职业作家)

引用回帖:
3楼: Originally posted by duwei789551 at 2016-10-13 11:28:41
我的程序是这样的
标量方程1源相:
real s;
...
s=C_UDSI(c,c_thread,0;
if (C_UDSI(c,c_thread,0)<=1.0)
{
        r=0.00000001;
}
else
{
        r=C_UDSI(c,c_thread,1)/s;
}
J=pow(rou,2.0)/roul;
C_U ...

if (C_UDSI(c,c_thread,0)<=1.0)改成if (s<=1.0)
聽海
5楼2016-10-13 14:05:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duwei789551

新虫 (小有名气)

引用回帖:
5楼: Originally posted by qc12345 at 2016-10-13 14:05:14
if (C_UDSI(c,c_thread,0)<=1.0)改成if (s<=1.0)...

这样还是不管用啊,下面两张是不使用相除,直接让r=0.00000001时uds-0和uds-1的云图。就加入这个运算以后就说发散了
求助,两个uds变量相除就显示发散是什么问题?
10121.jpg


求助,两个uds变量相除就显示发散是什么问题?-1
uds1.jpg

qq:2777094835
6楼2016-10-13 14:42:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qc12345

至尊木虫 (职业作家)

real rr,ss,tt;
...
rr=C_UDSI(c,c_thread,0);
ss=C_UDSI(c,c_thread,1);

if (rr<=1.0)
{
         tt=0.00000001;
}
else
{
         tt=ss/rr;
}
這樣試試

» 本帖已获得的红花(最新10朵)

聽海
7楼2016-10-13 15:11:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duwei789551

新虫 (小有名气)

送红花一朵
引用回帖:
7楼: Originally posted by qc12345 at 2016-10-13 15:11:43
real rr,ss,tt;
...
rr=C_UDSI(c,c_thread,0);
ss=C_UDSI(c,c_thread,1);

if (rr<=1.0)
{
         tt=0.00000001;
}
else
{
         tt=ss/rr;
}
這樣試試

使用rr,tt,ss,然后把r设为常数,这样确实可以运算得到他们的比值了,多谢老师了!
但是我需要把这两个uds的比值加入uds-1公式进行运算,把rr带入后面的公式还是以前的问题,这又是因为什么啊?
qq:2777094835
8楼2016-10-13 16:15:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duwei789551

新虫 (小有名气)

送红花一朵
引用回帖:
7楼: Originally posted by qc12345 at 2016-10-13 15:11:43
real rr,ss,tt;
...
rr=C_UDSI(c,c_thread,0);
ss=C_UDSI(c,c_thread,1);

if (rr<=1.0)
{
         tt=0.00000001;
}
else
{
         tt=ss/rr;
}
這樣試試

然后我又把rr存成udm,再把udm带入uds-1的公式,也可以计算了,只是不知道是什么原理。
真是多谢您了!
qq:2777094835
9楼2016-10-13 16:45:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duwei789551

新虫 (小有名气)

送红花一朵
引用回帖:
7楼: Originally posted by qc12345 at 2016-10-13 15:11:43
real rr,ss,tt;
...
rr=C_UDSI(c,c_thread,0);
ss=C_UDSI(c,c_thread,1);

if (rr<=1.0)
{
         tt=0.00000001;
}
else
{
         tt=ss/rr;
}
這樣試試

然后我又把rr存成udm,再把udm带入uds-1的公式,也可以计算了,只是不知道是什么原理。
真是多谢您了!
qq:2777094835
10楼2016-10-13 16:46:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 duwei789551 的主题更新
信息提示
请填处理意见