⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rung.c

📁 数学解析
💻 C
字号:
/******************************************************************************
 *                                                                            *
 *   WANG Haichen                                                             *
 *   Deuxieme candidatue en informatique                                      *
 *   Introduction a l'analyse numerique                                       *
 *   Projet de l'examen                                                       *
 *   Modele simplifie proie-predateur                                         *
 *                                                                            *
 *****************************************************************************/

//BIBLIOTHEQUES:

#include<stdio.h>
#include<stdlib.h>
#include"rung.h"


//Routine de Rung-kutta:

double** Rung_kutta
(double* (*Fonc)(double,double*),double* v0,int nbr_iteration,double temp0,
 double temp1)
{
    double **Rg_kt;
    double *var1,*var2;
    double h;
    int i;

    h=(temp1-temp0)/nbr_iteration;
    Rg_kt=(double**)malloc(nbr_iteration*sizeof(double*));
    Rg_kt[0]=(double*)malloc(2*sizeof(double));
    Rg_kt[0][0]=v0[0];
    Rg_kt[0][1]=v0[1];

    for (i=1;i<nbr_iteration;i++)
    {
        Rg_kt[i]=(double*)malloc(2*sizeof(double));
        var1=Fonc((temp0+(i-1)*h),Rg_kt[i-1]);

        var1[0]=Rg_kt[i-1][0]+0.5*h*var1[0];
        var1[1]=Rg_kt[i-1][1]+0.5*h*var1[1];

        var2=Fonc((temp0+(i-1)*h+0.5*h),var1);
        Rg_kt[i][0]=Rg_kt[i-1][0]+h*var2[0];
        Rg_kt[i][1]=Rg_kt[i-1][1]+h*var2[1];

        free(var1);
        free(var2);
    }
    return Rg_kt;

}




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -