声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2509|回复: 1

[应用数学] 那个大师帮我改点程序啊,不长,应该挺简单的但我不懂

[复制链接]
发表于 2006-5-22 18:54 | 显示全部楼层 |阅读模式

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

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

x
<P><FONT size=4>原来的程序如下<BR><BR>/*e.g:y'=y-2x/y,x∈[0,0.6]</FONT></P>
<P><FONT size=4>/*  y(0)=1<BR>/*使用经典四阶龙格-库塔算法进行高精度求解 <BR>/* y(i+1)=yi+( K1+ 2*K2 +2*K3+ K4)/6<BR>/* K1=h*f(xi,yi)<BR>/* K2=h*f(xi+h/2,yi+K1/2)<BR>/* K3=h*f(xi+h/2,yi+K2/2)<BR>/* K4=h*f(xi+h,yi+K3)<BR>*/<BR>#include &lt;stdio.h&gt;<BR>#include &lt;math.h&gt;</FONT></P>
<P><FONT size=4>float f(float den,float p0)  //要求解的微分方程的右部的函数 e.g: y-2x/y<BR>{<BR> float rus;<BR> //   den=w/(W0+sl);<BR> //   rus=k*A*f/Wp*sqrt(RTp)-(k-1)*.....<BR> rus=p0-2*den/p0;<BR> return(rus);<BR>}</FONT></P>
<P><FONT size=4>//float fden()<BR>//{</FONT></P>
<P><FONT size=4>//}</FONT></P>
<P><BR><FONT size=4>void main()<BR>{<BR> float x0; //范围上限<BR> int x1;   //范围下限<BR> float h;  //步长<BR> int n;    //计算出的点的个数<BR>  float k1,k2,k3,k4;<BR>    float y[3]; //用于存放计算出的常微分方程数值解<BR> int i=0;<BR> int j;</FONT></P>
<P><FONT size=4>//以下为函数的接口<BR> printf("intput x0:");<BR>    scanf("%f",&amp;x0);</FONT></P>
<P><FONT size=4> printf("input x1:");<BR> scanf("%f",&amp;x1);</FONT></P>
<P><FONT size=4>    printf("input y[0]:");<BR>    scanf("%f",&amp;y[0]);</FONT></P>
<P><FONT size=4> printf("input h:");<BR>    scanf("%f",&amp;h);</FONT></P>
<P><FONT size=4>// 以下为核心程序<BR>    n=((x1-x0)/h);<BR> n=3;<BR> <BR>    for(j=0;j&lt;n;j++)<BR> {   </FONT></P>
<P><FONT size=4>      k1=h*f(x0,y); //求K1<BR>      k2=h*f((x0+h/2),(y+k1/2)); //求K2<BR>      k3=h*f((x0+h/2),(y+k2/2)); //求K3<BR>      k4=h*f((x0+h),(y+k3)); //求K4<BR> <BR>   y[i+1]=y+((k1+2*k2+2*k3+k4)/6); //求yi+1<BR>   x0+=float(0.2);<BR>      printf("y[%f]=%f\n",x0,y[i+1]); <BR>      ++i;<BR>  <BR> }<BR> <BR>}</FONT></P>
<P><BR><FONT size=4> y'是微分的意思,要把原来的方程改成y'=-(400+4000*cos(x))+(3200000-8000000*sin(x))/y,,,x∈[-180°,180°],,,中间要取100个点,也就是h=3.6°,,,y(0)=16000,度数也可以用实数表示。<BR><BR>那个大师会帮帮我,感激不尽!加我QQ也行157544051</FONT></P>
回复
分享到:

使用道具 举报

发表于 2006-8-21 07:09 | 显示全部楼层
参考C语言算法程序集吧,四阶龙格库塔法程序是现成的
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-18 10:32 , Processed in 0.070482 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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