24小时热门版块排行榜    

查看: 831  |  回复: 13
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

adjoinff

银虫 (小有名气)

[交流] 数值分析的c语言程序,帮忙看下,改改错

http://d.namipan.com/d/79567bb4f ... dda82dcaf2d009e0100
http://d.namipan.com/d/79567bb4f ... dda82dcaf2d009e0100
我的题目已经放到米人里了,请朋友们帮忙看看。
先谢过了。

其中之一是下面的,大约有6个题,其他都传到米人了。

用定步长四阶Runge-Kutta法求解
   dy1/dt=1
   dy2/dt=y3
   dy3/dt=1000-1000y2-100y3
   y1(0)=0
   y2(0)=0
   y3(0)=0
方程组是上面六个式子
h=0.0005,打印yi(0.025), yi(0.045), yi(0.085), yi(0.1),(i=1,2,3)


我是这么编的
#include  
main()
{
   double  t,h=0.0005,y1=0,y2=0,y3=0,ky1[5],ky2[5],ky3[5];
   for(t=h;t<=0.1001;t+=h)                                  /*Runge-Kutta算法具体过程*/
   {  ky1[1]=h*1;  ky2[1]=h*y3;             ky3[1]=h*(1000-1000*y2-100*y3);
      ky1[2]=h*1;  ky2[2]=h*(y3+ky3[1]/2);  ky3[2]=h*(1000-1000*(y2+ky2[1]/2)-100*(y3+ky3[1]/2));
      ky1[3]=h*1;  ky2[3]=h*(y3+ky3[2]/2);  ky3[3]=h*(1000-1000*(y2+ky2[2]/2)-100*(y3+ky3[2]/2));
      ky1[4]=h*1;  ky2[4]=h*(y3+ky3[3]);    ky3[4]=h*(1000-1000*(y2+ky2[3])-100*(y3+ky3[3]));
      y1+=(ky1[1]+2*ky1[2]+2*ky1[3]+ky1[4])/6;
      y2+=(ky2[1]+2*ky2[2]+2*ky2[3]+ky2[4])/6;
      y3+=(ky3[1]+2*ky3[2]+2*ky3[3]+ky3[4])/6;
      if((t>0.0249&&t<0.0251)||(t>0.0449&&t<0.0451)||(t>0.0849&&t<0.0851)||(t>0.0999&&t<0.1001))
        printf("y1(%f)=%f,y2(%f)=%f,y3(%f)=%f\n",t,y1,t,y2,t,y3);       /*输出函数值*/
   }
}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

formleaf

木虫 (正式写手)

★ ★
Doctorcbw(金币+1,VIP+0):谢谢 12-10 08:17
adjoinff(金币+1,VIP+0): 12-11 08:55
引用回帖:
Originally posted by adjoinff at 2009-12-9 21:51:
没有人了吗。。。

可能最近大家都很忙吧,毕竟期末了,年终岁尾事情多啊!如果你不急,等忙过这阵子我们帮你看看!
9楼2009-12-09 22:05:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 adjoinff 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见