📄 rung.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 + -