Skip to content
Snippets Groups Projects
Commit 87c92f4d authored by VaishnavaHari S's avatar VaishnavaHari S
Browse files

Add new file

parent cef339f7
Branches
No related tags found
No related merge requests found
kutta.m 0 → 100644
% Runge-Kutta 4th order Method to find an approximate solution of y'=f(x,y)
% with y(x(0))=y(0)
clc; clear all;
%input
f_in = input('Enter the function f(x,y) = ','s');
f = inline(f_in);
x(1) = input('Enter the initial value of x = ');
y(1) = input('Enter the initial value of y = ');
h = input('Enter the step length h = ');
xn = input('enter the x value for which y is to be evaluated = ');
% main program
x = x(1):h:xn; % generating x values
N=length(x); % number of iterations to be performed
fprintf('itr \t x(i) \t y(i)\n')
for i=1:N
fprintf('%d\t %f\t %f\n',i-1, x(i), y(i)); % print (x, y) in each iteration
k1=h*(f(x(i),y(i)));
k2= h*f(x(i)+h/2,y(i)+k1/2);
k3= h*f(x(i)+h/2,y(i)+k2/2);
k4= h*f(x(i)+h,y(i)+k3);
y(i+1)= y(i)+(k1+2*(k2+k3)+k4)/6; % y(i+1) by RK4M
end
% simply you can print by using [x', y'] at the end by taking proper care
% in the index !!
% OUTPUT 1 --------------------------------------------------------------
% Enter the function f(x,y) = (y-x)/(y+x)
% Enter the initial value of x = 0
% Enter the initial value of y = 1
% Enter the step length h = .02
% enter the x value for which y is to be evaluated = .1
% itr x(i) y(i)
% 0 0.000000 1.000000
% 1 0.020000 1.019610
% 2 0.040000 1.038479
% 3 0.060000 1.056659
% 4 0.080000 1.074195
% 5 0.100000 1.091127
% OUTPUT 2 --------------------------------------------------------------
% Enter the function f(x,y) = x+y
% Enter the initial value of x = 0
% Enter the initial value of y = 1
% Enter the step length h = .1
% enter the x value for which y is to be evaluated = .5
% itr x(i) y(i)
% 0 0.000000 1.000000
% 1 0.100000 1.110342
% 2 0.200000 1.242805
% 3 0.300000 1.399717
% 4 0.400000 1.583648
% 5 0.500000 1.797441
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment