Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Hamza Shafiq FA21-RMT-015

28 Oct, 2021

Question 14.1: 𝑦’’ = −𝑦

𝑦(0) = 1, 𝑦(𝜋) = −1
Solution:

In editor
aa = 0; bb = pi; n = 50;
p = zeros(1,n-1); q = -1*ones(1,n-1); r = zeros(1,n-1);
ya = 0.1; yb = -1;
h = (bb-aa)/n; h2 = h/2; hh = h*h;
x = linspace(aa+h, bb, n);
% upper diagonal (a) , diagonal (d) , lower diagonal (b)
a = zeros(1, n-1); a(1:n-2) = 1-p(1,1:n-2)*h2;
d = -(2 + hh*q);
b = zeros(1, n-1); b(2:n-1) = 1 +p(1,2:n-1)*h2;

c(1) = hh*r(1) - (1 + p(1)*h2)*ya;


c(2:n-2) = hh*r(2:n-2);
c(n-1) = hh*r(n-1) - (1-p(n-1)*h2 )*yb;

m = length(d); a(1) = a(1)/d(1); c(1) = c(1)/d(1);


for i = 2 : m-1
denom = d(i) -b(i)*a(i-1);
if (denom ==0) , error('zero in denominator'), end
a(i) = a(i)/denom;
c(i) = (c(i) -b(i)*c(i-1))/denom;
end
c(m) = (c(m) -b(m)*c(m-1))/(d(m)-b(m)*a(m-1));
y(m) = c(m);
for i = m-1: -1 : 1
y(i) = c(i) - a(i)*y(i+1);
end

xx = [aa x]; yy = [ya y yb];


out=[xx' yy']; disp(out)
plot(xx, yy), grid on

In Command Window

>> hamza

1.0e+03 *

0 0.0001

0.0001 0.1094
0.0001 0.2183

0.0002 0.3263

0.0003 0.4331

0.0003 0.5381

0.0004 0.6410

0.0004 0.7414

0.0005 0.8389

0.0006 0.9330

0.0006 1.0234

0.0007 1.1099

0.0008 1.1919

0.0008 1.2692

0.0009 1.3415

0.0009 1.4086

0.0010 1.4700

0.0011 1.5257

0.0011 1.5753

0.0012 1.6187

0.0013 1.6558

0.0013 1.6862

0.0014 1.7101

0.0014 1.7271

0.0015 1.7374

0.0016 1.7408

0.0016 1.7373

0.0017 1.7270

0.0018 1.7099

0.0018 1.6860

0.0019 1.6554
0.0019 1.6183

0.0020 1.5748

0.0021 1.5251

0.0021 1.4694

0.0022 1.4079

0.0023 1.3408

0.0023 1.2685

0.0024 1.1911

0.0025 1.1090

0.0025 1.0226

0.0026 0.9321

0.0026 0.8379

0.0027 0.7404

0.0028 0.6400

0.0028 0.5371

0.0029 0.4320

0.0030 0.3253

0.0030 0.2172

0.0031 0.1083

0.0031 -0.0010
Graph

Question 14.7: 𝑦’’ = −2𝑦 ′ − 4𝑦

𝑦(0) = 12, 𝑦(1) = 2


Solution:

In editor
aa = 0; bb = 1; n = 50;
p = -2*ones(1,n-1); q = -4*ones(1,n-1); r = zeros(1,n-1);
ya = 2; yb = 2;
h = (bb-aa)/n; h2 = h/2; hh = h*h;
x = linspace(aa+h, bb, n);
% upper diagonal (a) , diagonal (d) , lower diagonal (b)
a = zeros(1, n-1); a(1:n-2) = 1-p(1,1:n-2)*h2;
d = -(2 + hh*q);
b = zeros(1, n-1); b(2:n-1) = 1 +p(1,2:n-1)*h2;

c(1) = hh*r(1) - (1 + p(1)*h2)*ya;


c(2:n-2) = hh*r(2:n-2);
c(n-1) = hh*r(n-1) - (1-p(n-1)*h2 )*yb;

m = length(d); a(1) = a(1)/d(1); c(1) = c(1)/d(1);


for i = 2 : m-1
denom = d(i) -b(i)*a(i-1);
if (denom ==0) , error('zero in denominator'), end
a(i) = a(i)/denom;
c(i) = (c(i) -b(i)*c(i-1))/denom;
end
c(m) = (c(m) -b(m)*c(m-1))/(d(m)-b(m)*a(m-1));
y(m) = c(m);
for i = m-1: -1 : 1
y(i) = c(i) - a(i)*y(i+1);
end

xx = [aa x]; yy = [ya y yb];


out=[xx' yy']; disp(out)
plot(xx, yy), grid on

In Command Window

hamza

0 2.0000

0.0200 2.1573

0.0400 2.3051

0.0600 2.4434

0.0800 2.5725

0.1000 2.6925

0.1200 2.8036

0.1400 2.9059

0.1600 2.9997

0.1800 3.0851

0.2000 3.1622

0.2200 3.2314

0.2400 3.2928

0.2600 3.3467

0.2800 3.3931

0.3000 3.4325

0.3200 3.4649
0.3400 3.4906

0.3600 3.5098

0.3800 3.5227

0.4000 3.5297

0.4200 3.5308

0.4400 3.5263

0.4600 3.5165

0.4800 3.5015

0.5000 3.4817

0.5200 3.4571

0.5400 3.4281

0.5600 3.3949

0.5800 3.3576

0.6000 3.3165

0.6200 3.2719

0.6400 3.2238

0.6600 3.1726

0.6800 3.1184

0.7000 3.0615

0.7200 3.0019

0.7400 2.9401

0.7600 2.8760

0.7800 2.8099

0.8000 2.7420

0.8200 2.6725

0.8400 2.6015

0.8600 2.5292

0.8800 2.4557

0.9000 2.3813
0.9200 2.3061

0.9400 2.2302

0.9600 2.1538

0.9800 2.0770

1.0000 2.0000

Graph

You might also like