You are on page 1of 26

sowndhar 8554

ENGINE RING
MATHEMATIC
S
PRACTICAL
Aim: To find solution of first order Differential Equations
using Euler’s Method.
Code:
//sowndhar
// 8554
// To find solution of first order differential equation using
eluer's method

// y' = x+y
clf
clc
clear
function ydash=f(x, y)

ydash=x+
y endfunction

function y_exact=Exact(x)
y_exact=exp(x)-x-1
endfunction
function [x_euler, y_euler]=Eulers(h, n, f)
x_euler(1)=0
y_euler(1)=0

for i = 1:n
x_euler(i+1)= x_euler(i)+h;
y_euler(i+1)= y_euler(i)+h*f(x_euler(i),y_euler(i)
; end
endfunction

h=0.1;
n=10;
[x_euler,y_euler]= Eulers(h,n,f); y_exact=Exact(x_euler);

title('exact vs euler')
plot(x_euler,y_euler,'-b')
plot(x_euler,y_euler,'-g*')
xlabel('x')
ylabel('y')
legend('Exact','Euler')
Aim: To find solution of first order Differential Equations
using Heun’s Method.
Code :

clf
clc
clear
function ydash=f(x, y)
ydash=x+y
endfunction

function
y_exact=Exact(x)
y_exact=exp(x)-x-1
endfunction
function[x_heun, y_heun]=Heuns(h, n, f)
x_heun(1)=0
y_heun(1)=
0 for i= 1:n
x_heun(i+1)= x_heun(i)+h;

k1 = h* f(x_heun(i),y_heun(i));
k2 = h* f(x_heun(i+1),y_heun(i)+ k1);
y_heun(i+1)= y_heun(i)+0.5*(k1 +k2);
end
endfunction

h=0.1;
n=10;
[x_heun,y_heun]= Heuns(h,n,f);
y_exact=Exact(x_heun);

title('exact vseuler')
plot(x_heun,y_exact,'-b')
plot(x_heun,y_heun,'-g*')
xlabel('x')
ylabel('y')
legend('Exact','Heun')
Aim: To find solution of first order Differential Equations
using Heun’s Method.
Code :
//sowndhar
// 8554
// To find solution of first order differential
equation using RK4 method

// y' = x+y
clf
clc

clear
function ydash=f(x, y)
ydash=x+y
endfunction

function y_exact=Exact(x)
y_exact=exp(x)-x-1
endfunction

function [x_rk4, y_rk4]=RK4(h, n, f)


x_rk4(1)=0
y_rk4(1)=
0 for i =
1:n
x_rk4(i+1) = x_rk4(i)+h;

k1 = h*f(x_rk4(i),y_rk4(i) ;
k2 =h*f(x_rk4(i)+ 0.5*h,y_rk4(i)+ 0.5*k1);
k3 = h*f(x_rk4(i)+ 0.5*h,y_rk4(i)+
0.5*k2); k4 = h*f(x_rk4(i)+h,y_rk4(i)+k3);
y_rk4(i+1)= y_rk4(i)+ (k1 + 2*k2 + 2*k3 +
k4)/6;
end
endfunction
h=0.1;
n=10;
[x_rk4,y_rk4]= RK4(h,n,f); y_exact=Exact(x_rk4);

title('exact vs RK4')
plot(x_rk4,y_exact,'-b')
plot(x_rk4,y_rk4,'-g*')
xlabel('x')
ylabel('y')
legend('Exact','RK4')
Aim: To test convergence of series.
Code :
//sowndhar
//8554

clc;
clf;
clear;

//a1(r)^n-1 -1<r<1

r = -1:0.01:1;
a=3;
conv = zeros(1,length(r) ; for
n = 1: length(r)
conv(n) = a* (r(n) ^n-1;

end
subplot(2,1,1)
plot(r,a)
xlabel('n')
ylabel('a(r)^n-1')
title('Plot for a(r)^n-1');
Aim: To test divergence of series.
Code :
//sowndhar
//8554

clc;
clf;
clear;

//a1(r)^n-1 -1<r<1

a1 = -1:0.01:1;

c = zeros(1,length(a1) ;

for n = 1: length(a1) c(n)


= (1/2)^n -1;
end subplot(2,1,1)
plot(a1,c)
xlabel('n')
ylabel('a(r)^n-1')
title('Plot for a(r)^n-1');
Aim: Solution of linear system of equation using Gauss
Elimination.
Code :
//sowndhar
// 8554

clc;
clf;
clear;

// trigularization method
function x=GaussE(A, b)
[n,m]= size(A)

for k = 1: (n-1)
for i = (k+1):n
m = A(i,k) / A(k,k)
A(i, k:n) = A(i, k:n)- m*A(k, k:n)
b(i) = b(i) - m*b(k);
end
end

// Backward substitutio x
= zeros(n,1)
for i = n:-1:1

x(i) =(b(i) - sum(A(i,(i+1):n)*x( i+1):n) ) / A(i,i) end


endfunction

//qusetion 1

a1 =[6 -1 -1;3 4 1;1 2 6]


b1 = [19 26 2 ]
disp("solution for question 1")
disp(GaussE(a1,b1))
// question 2

a2 = [3 1 1;1 3 -1 ;1 -2 4]
b2 = [1 1 21]
disp("solution for question 2")
disp(GaussE(a2,b2)

// question 3

a3 = [3 1 1;1 2 -2 ;2 -3 3]
b3 = [4 3 4]
disp("solution for question 3")

disp(GaussE(a3,b3)
“solution for question 1"

4.
3.
2.

"solution for question 2"

-7.
10.
12.

"solution for question 3"

2.4285714
-1.50 0 0
-1.7857143

You might also like