24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 365  |  回复: 0
当前主题已经存档。

jwf633

木虫 (正式写手)

[交流] 请大家帮忙看看,我程序中的龙格-库塔方法对吗?

公式见附件:
程序主要代码如下:
for(k=0;k     for(i=0;i         for(j=0;j         {
        extract1(i,j,xtemp); //pick out X[k][j] at site(i,j) to xtemp[k];
        //caculate the k1[S] for all species at site(i,j)
        f(sigma[k],rou[k],kc,xtemp,k1);
        //caculate X[k][j]+k1[k]*tao/2
        increase(tao,k1,xtemp);
        //caculate K2 for species k at site(i,j)
        f(sigma[k],rou[k],kc,xtemp,k2);
        //caculate X[k][j]+k2[k][j]*tao/2
        increase(tao,k2,xtemp);
        //caculate k3 for species k at site(i,j)
        f(sigma[k],rou[k],kc,xtemp,k3);
               //caculate X[k][j]+k3[k][j]*tao
        increase(2*tao,k3,xtemp);
        //caculate K4[k][j] for species k at site(i,j)
        f(sigma[k],rou[k],kc,xtemp,k4);
        XX[k][j]=X[k][j]+tao*((k1[k]+2*k2[k]+2*k3[k]+k4[k])/6+PXX[k][j]);
            }

void f(float sg,float r, float k[S][S],float x[S],float kk[S])
{
        int i,j;
        float temp1,temp2;
        for(i=0;i         {
                temp1=0;
                temp2=0;
                kk=(-1)*sg*x;
                for(j=0;j                     temp1+=x[j];
                temp1=1-temp1;
                for(j=0;j                     if(j!=i)
                        temp2+=k[j]*x[j];
                temp2+=r;
                kk+=temp1*temp2*x;
        }
}

[ Last edited by csfn on 2008-12-29 at 20:08 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 jwf633 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见