Best Answer


/* Runge Kutta for a set of first order differential equations */



#define N 2 /* number of first order equations */

#define dist 0.1 /* stepsize in t*/

#define MAX 30.0 /* max for t */

FILE *output; /* internal filename */

void runge4(double x, double y[], double step); /* Runge-Kutta function */

double f(double x, double y[], int i); /* function for derivatives */

void main()


double t, y[N];

int j;

output=fopen("osc.dat", "w"); /* external filename */

y[0]=1.0; /* initial position */

y[1]=0.0; /* initial velocity */

fprintf(output, "0\t%f\n", y[0]);

for (j=1; j*dist<=MAX ;j++) /* time loop */



runge4(t, y, dist);

fprintf(output, "%f\t%f\n", t, y[0]);




void runge4(double x, double y[], double step)


double h=step/2.0, /* the midpoint */

t1[N], t2[N], t3[N], /* temporary storage arrays */

k1[N], k2[N], k3[N],k4[N]; /* for Runge-Kutta */

int i;

for (i=0;i




for (i=0;i


t2[i]=y[i]+0.5*(k2[i]=step*f(x+h, t1, i));


for (i=0;i


t3[i]=y[i]+ (k3[i]=step*f(x+h, t2, i));


for (i=0;i


k4[i]= step*f(x+step, t3, i);


for (i=0;i





double f(double x, double y[], int i)


if (i==0)

x=y[1]; /* derivative of first equation */

if (i==1)

x= -0.2*y[1]-y[0]; /* derivative of second equation */

return x;


User Avatar

Wiki User

โˆ™ 2011-01-25 14:29:14
This answer is:
User Avatar
Study guides
See all Study Guides
Create a Study Guide
12 Reviews

Add your answer:

Earn +20 pts
Q: C programming of Runge-Kutta method
Write your answer...
Still have questions?
magnify glass
Related questions

What is the method of programming when using C plus plus?

C++ allows any combination of structured programming, procedural programming, object-oriented programming and template metaprogramming.

In computer programming C stand for?

C and it's variants (C++, C#, etc...) are all programming languages. C is simply a method of using words and alphanumeric characters to create a set of instructions that form a program.

How do you compute the holzer method in C programming?

Hafner/Maass have done it in Fortran. Maybe of help by translating?

What is programming with c plus plus?

Programming with C++ is writing computer programs using the C++ programming language.

What is the unit of programming in c?

The unit of programming in C is the function.

C programming code for gauss Jordon method to solve quadratic equation?

how to use gauss programming to find LM unit root test with structural breaks and kpss

What is c and c in computer programming?

C and C++ are both high-level programming languages.

What is the meaning of a method in Java programming?

a method is a variable

What is the function of symboland in C programming?

The symbol and (ampersand, &amp;) in C and C++ programming is the bitwise inclusive or operator. If there are two ampersands (&amp;&amp;) it is a relational inclusive or operator. As a unary operator, it means to take the address of something. In C++, it can also be overridden in a class method to mean nearly anything else.

What do you understand by the left and right parenthesis in main method in C programming?

I understand they have the same meaning as they do for any function in C; to separate the function name from its arguments.

What programming language is best for machine learning?

c and c++ languages are the best programming languaghes c and c++ languages are the best programming languaghes

Difference of C programming and c plus plus programming?

C is procedural based programming while C++ is extension of C and it follows object oriented technique

People also asked