声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2244|回复: 2

[其他相关] 求助:用龙格库塔解方程

[复制链接]
发表于 2007-4-26 18:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
从来没接触过龙格库塔啊,今天导师居然让我们用这个方法解这个方程,不会啊,谁可以帮助我解下,以前的帖子搜了下,看不懂^^!
y''''=4+x+x*x*x     在x=0时 : y=1 , y'=1 , y''=1 ,  y'''=1
谁能给我个完整的程序吗?最好是用C编程.谢谢大虾们咯.
回复
分享到:

使用道具 举报

发表于 2007-4-27 19:14 | 显示全部楼层
网上搜索徐世良的 C语言算法程序集? (本论坛不提供讨论下载共享的问题,还请注意)

另外,没有接触过,但是你懂了原理,自己实现也很快的,前提是你有C语言的基础。
发表于 2007-4-27 20:22 | 显示全部楼层
  1. /*
  2. /*编程者:刘艮平
  3. /*完成日期:2004.5.29
  4. /*e.g:y'=y-2x/y,x∈[0,0.6]
  5. /*  y(0)=1
  6. /*使用经典四阶龙格-库塔算法进行高精度求解 
  7. /* y(i+1)=yi+( K1+ 2*K2 +2*K3+ K4)/6
  8. /* K1=h*f(xi,yi)
  9. /* K2=h*f(xi+h/2,yi+K1/2)
  10. /* K3=h*f(xi+h/2,yi+K2/2)
  11. /* K4=h*f(xi+h,yi+K3)
  12. */
  13. #include <stdio.h>
  14. #include <math.h>

  15. float f(float den,float p0)  //要求解的微分方程的右部的函数 e.g: y-2x/y
  16. {
  17.     float rus;
  18. //   den=w/(W0+sl);
  19. //   rus=k*A*f/Wp*sqrt(RTp)-(k-1)*.....
  20.     rus=p0-2*den/p0;
  21.     return(rus);
  22. }
  23. //float fden()
  24. //{
  25. //}

  26. void main()
  27. {
  28.     float x0; //范围上限
  29.     int x1;   //范围下限
  30.     float h;  //步长
  31.     int n;    //计算出的点的个数
  32.      float k1,k2,k3,k4;
  33.     float y[3]; //用于存放计算出的常微分方程数值解
  34.     int i=0;
  35.     int j;

  36. //以下为函数的接口
  37.     printf("intput x0:");
  38.     scanf("%f",&x0);

  39.     printf("input x1:");
  40.     scanf("%f",&x1);

  41.     printf("input y[0]:");
  42.     scanf("%f",&y[0]);

  43.     printf("input h:");
  44.     scanf("%f",&h);

  45. // 以下为核心程序
  46.     n=((x1-x0)/h);
  47.     n=3;
  48.    
  49.     for(j=0;j<n;j++)
  50.     {   
  51.       k1=h*f(x0,y[i]); //求K1
  52.       k2=h*f((x0+h/2),(y[i]+k1/2)); //求K2
  53.       k3=h*f((x0+h/2),(y[i]+k2/2)); //求K3
  54.       k4=h*f((x0+h),(y[i]+k3)); //求K4

  55.       y[i+1]=y[i]+((k1+2*k2+2*k3+k4)/6); //求yi+1
  56.       x0+=float(0.2);
  57.       printf("y[%f]=%f\n",x0,y[i+1]);
  58.       ++i;     
  59.     }
  60. }
复制代码


这种东西网上遍地都是,建议今后自己好好找找
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-19 12:42 , Processed in 0.050304 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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