You are on page 1of 7

Fakultet Kemijskog Inenjerstva i Tehnologije

Diferencijalne jednadbe
3. zadatak

Posedi Tina, KI
16.01.2015.

Zadatak 22.
Zadatak 3.22.RK
Nacrtajte dijagram toka raunanja, pa izradite program za numeriko rjeavanje
sustava od dvije linearne diferencijalne jednadbe I reda s konstantnim koeficijentima
metodom Runge-Kutta IV.

y'=- 3y-z
y'=y-z

uz poetni uvjet y(0) = 1 i z(0) = 1.


Dobivene rezultate usporedite s rezultatima raunanja upotrebom egzaktnog rjeenja:

pa izraunajte relativnu pogreku. Tiskajte x, ynum, znum, yegz, zegz i relativnu pogreku.
Rezultate spremite u datoteku (file) kojoj proizvoljno odaberite ime. Grafiki prikaite
u pravokutnom koordinatnom sustavu funkcijsku zavisnost y num = f(x), znum =g(x).

Kod u Matlabu:
clear all
clc
close all
e = 2.718281828;
x1 = 0;
y1 = 1;
z1 = 1;
h = 0.1;
bkr = 100;
xmax = x1 + h*bkr;
br = 0;
for x = x1:h:xmax
br = br + 1;
yegz = (e^(-2*x))*(1-2*x);
if yegz ~= 0
ppy = (y1 - yegz)/yegz*100;
else
ppy=0;
end
zegz = (e^(-2*x))*(1+2*x);
if zegz ~= 0
ppz = (z1 - zegz)/zegz*100;
else
ppz=0;
end
xc(br) = x;
yrk(br) = y1;
zrk(br) = z1;
Yegz(br) = yegz;
Zegz(br) = zegz;
Ppy(br) = ppy;
Ppz(br) = ppz;
k1 = h*dy(x, y1, z1);
l1 = h*dz(x, y1, z1);
k2 = h*dy(x + h/2, y1 + k1/2, z1 + l1/2);
l2 = h*dz(x + h/2, y1 + k1/2, z1 + l1/2);
k3 = h*dy(x + h/2, y1 + k2/2, z1 + l2/2);
l3 = h*dz(x + h/2, y1 + k2/2, z1 + l2/2);
k4 = h*dy(x + h, y1 + k3, z1 + l3);
l4 = h*dz(x + h, y1 + k3, z1 + l3);
y1 = y1 + (k1 + 2*k2 + 2*k3 + k4)/6;
z1 = z1 + (l1 + 2*l2 + 2*l3 + l4)/6;
end
plot(xc,yrk,'-r',xc,zrk,'--b');
xlabel('x') ; ylabel('y1,z1');

legend('y1','z1'); grid
title ('Rjesavanje sustava dvije diferencijalne jednadzbe I reda - Runge-Kutta IV')
podaci=[xc; yrk; zrk; Yegz; Zegz; Ppy; Ppz];
fid = fopen('podaci.dat','w');
fprintf(fid,'x y1 z1 yegz zegz ppy ppz\n');
fprintf(fid,'%g %g %g %g %g %g %g\n',podaci);
fclose(fid);

function yiz = dy(x, y, z)


yiz = -3*y -z;
end

function ziz = dz(x, y, z)


ziz = y - z;
end

Dijagram toka:

Pozivanje funkcije dy

Pozivanje funkcije dz

Rezultat:

You might also like