24小时热门版块排行榜    

查看: 911  |  回复: 3
当前主题已经存档。

holyshine

[交流] 求助,P-R方程C语言编程求解问题

#include
#include

void main()
{
int k,sign;
double f(double V);
double v3,v4,q3;
double x[50],A,B,C;


x[1]=1.0;*设定初值
x[2]=2.0;
x[3]=3.0;  
k=3;

while(fabs(x[k]-x[k-1])>0.00001)*Muller法迭代
{
  v3=(x[k]-x[k-1])/(x[k-1]-x[k-2]);
  q3=1+v3;
  A=f(x[k-2])*v3*v3-f(x[k-1])*v3*q3+f(x[k])*v3;
  B=f(x[k-2])*v3*v3-f(x[k-1])*q3*q3+f(x[k])*(v3+q3);
  C=f(x[k])*q3;
  
  if (B>0)
          sign=1;
  else
          sign=-1;
  v4=-2*C/(B+sign*sqrt(B*B-4*A*C));
  x[k+1]=x[k]+v4*(x[k]-x[k-1]);

   k++;
}
  printf("Muller迭代方法所求实根X=%lf\n",x[k]);
  printf("迭代次数:%d\n",k);
}

double f(double V)
{ double R=8.314,Tc=190.69,Pc=4604000,w=0.013; *临界温度压力偏心因子
   double Q,T,a,b,P,e,d,K,Tr;
printf("请输入压力P(千帕)和温度T(开尔文)\n";
scanf("%lf,%lf",&P,&T);

Tr=T/Tc;
K=0.37464+1.54226*w-0.26992*w*w;
e=0.45724*R*R*Tc*Tc/Pc;
d=pow((1+K*(1-sqrt(Tr))),2.0);
a=e*d;
b=0.0778*R*Tc/Pc;
printf("a=%lf",a);

    Q=R*T/(V-b)-a/(V*(V+b)+b*(V-b))-P; *利用P-R方程构造的迭代格式
   return Q;
}
Peng-Robinson方程可以用来求实际流体的密度等物性参数,现在已知纯甲烷的临界温度和临界压力,偏心因子,用C语言编程计算1MP,108.15K时的密度。编程时出现溢出现象,主要是使用Muller法设定初值的问题,劳烦高手指点迷津,多谢。
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

波不动

木虫 (正式写手)

Wave No Move

★ ★
小木虫(金币+0.5):恭喜抢沙发,给个红包
Doctorcbw(金币+1,VIP+0):谢谢参与 12-21 09:37
是输入1000,108.15吧???
没有溢出啊??输出:a=0.300640
端好自己的碗,吃好自己的饭。
2楼2009-12-21 00:24:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bluesine

至尊木虫 (职业作家)

科苑小木虫


小木虫(金币+0.2):抢了个小板凳,给个红包
double f(double V);

这一句应该写在main()函数外面   <上面>
板凳要做十年冷文章不发一个字
3楼2009-12-21 10:14:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holyshine

谢谢了


bluesine(金币+1,VIP+0):呵呵 ,能否把解决的方法分享一下呢 1-7 11:14
谢谢上面两位朋友的回复,我原以为没人理我呢,加之最近考试比较忙,一直没上网查看。这个问题已经解决了。不过,输入的是1000000,108.15.函数声明写在main()里也是可以的。再次感谢热心人,实在不好意思了。
4楼2010-01-06 22:15:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 holyshine 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 建议基金发布提前给出明确的时间点 +10 kulium 2026-08-21 12/600 2026-08-21 19:46 by kulium
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +15 医学老男孩 2026-08-20 19/950 2026-08-21 18:54 by 医学老男孩
[基金申请] filecode,4个jtjc了 +11 ziyangfang 2026-08-19 14/700 2026-08-21 16:51 by applepetty
[基金申请] 让我中一个面上吧! +11 大萍1987 2026-08-20 13/650 2026-08-21 14:48 by 20120902066
[基金申请] 感觉是下周放榜了 +7 angus9576 2026-08-17 12/600 2026-08-21 13:38 by weiyin
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 只有每年这种时候来逛逛小木虫 +23 yaoyewhu2008 2026-08-20 25/1250 2026-08-21 12:19 by Poppy1104
[基金申请] 什么时候开奖? +7 CrisMessi 2026-08-18 7/350 2026-08-21 12:15 by weiyin
[基金申请] 今天基金会出结果吗?20260819 +15 kkkl_v 2026-08-19 16/800 2026-08-21 11:22 by 365372687
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 放榜前的不淡定 40+4 snowwithsea 2026-08-19 13/650 2026-08-21 08:30 by 北京莱茵编辑
[基金申请] 时间戳今天,20号变了 +4 archvillain 2026-08-20 4/200 2026-08-21 08:10 by gatelove
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 今天放榜吗? +14 布布和一二 2026-08-19 15/750 2026-08-19 18:07 by gltch
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
信息提示
请填处理意见