lab106 19544 1462389000

background image

Politechnika Śląska w Gliwicach

Wydział Automatyki, Elektroniki i Informatyki









Laboratorium Metod Numerycznych

dla kierunku Automatyka i Robotyka








Temat ćwiczenia:

Przybliżone rozwiązywanie równań

różniczkowych zwyczajnych



Ćwiczenie wykonano: 04.05.2016, godz. 12:15-13:45






Grupa 1, sekcja 1:

Grzegorz Cudok
Damian Otto








Gliwice 2016

background image

Kody:

%R+k

1.

2. clc;

3. clear all;

4. h=0.2;

5. x = 0:h:3;

6. y = zeros(1,length(x)) ;

7. y(1) = 1;

8. f =@(x,y) 0.1.*x*y;

9.

10.

c= zeros(1,length(x)) ;

11.

d = zeros(1,length(x)) ;

12.

c(1)=1;

13.

d(1)=1;

14.

15.

for i=1:(length(x)-1)

16.

k_1 = h* f(x(i),y(i));

17.

k_2 = h* f(x(i)+0.5*h,y(i)+0.5*k_1);

18.

k_3 = h* f((x(i)+0.5*h),(y(i)+0.5*k_2));

19.

k_4 = h* f((x(i)+h),(y(i)+k_3));

20.

y(i+1) = y(i) + (1/6)*(k_1+2*k_2+2*k_3+k_4);

21.

d(i+1) = c(1)*exp(1/20*x(i+1)^2);

22.

end

23.

24.

y=y';

25.

x=x';

26.

c=c';

background image

27.

d=d';

28.

P=[x,y,d];

29.

30.

31.

%EULER

32.

clc;

33.

clear all;

34.

h=0.2;

35.

x = 0:h:3;

36.

y = zeros(1,length(x)) ;

37.

y(1) = 1;

38.

f =@(x,y) 0.1.*x*y;

39.

c= zeros(1,length(x)) ;

40.

d = zeros(1,length(x)) ;

41.

c(1)=1;

42.

d(1)=1;

43.

44.

for i=1:(length(x)-1)

45.

fx = f(x(i),y(i));

46.

dfx=h*fx;

47.

y(i+1) = y(i) + dfx ;

48.

d(i+1) = c(1)*exp(1/20*x(i+1)^2);

49.

end

50.

y=y';

51.

x=x';

52.

c=c';

53.

d=d';

54.

P=[x,y,d];

background image



Zadane y(0)=1 x

max

=3 h=0.2 otrzymane wartości dla x

max

=3:

metoda Kutego: 1,56831215678754
metoda Eulera: 1,50999649690787
dokładna

wartość: 1,56831218549017


Wyszukiwarka

Podobne podstrony:
lab106 19656 1462385132
lab106 19654 1462389421
lab106 2258 1395959527
106, LAB106M(1), ˙w.nr.106 Temat: Wyznaczanie stosunku H=Cp/Cv dla powietrza metod˙
lab106 19643 1465153892

więcej podobnych podstron