Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clear;clc;close all;
- h = 0.1; %krok początkowy
- %precision = @(x) 0.2*exp(sin(x)+2*cos(x))/exp(x*x); %Rozwiązanie równania
- f = @(x,y) 2*x*y; %Fukcja dana w zadaniu
- w = zeros(1,4);
- k = zeros(1,4); %współczynniki s
- w(1) = 1/6;
- w(4) = 1/6;
- w(2) = 1/3;
- w(3) = 1/3;
- y=1;
- x=0;
- display(['y(' num2str(x) ')=' num2str(y) ' h=' num2str(h)]);
- while 1
- h = h*2;
- while 1
- h=h/2;
- k(1) = h*f(x,y);
- k(2) = h*f(x+h/2, y+k(1)/2);
- k(3) = h*f(x+h/2, y+k(2)/2);
- k(4) = h*f(x+h,y+k(3));
- y1=y;
- for i=1:4
- y1=y1+w(i)*k(i);
- end
- T = (k(2)-k(3))/(k(1)-k(2));
- if(T<0)
- T=-T;
- end
- if(T<0.05)
- break;
- end
- end
- y=y1;
- x=x+h;
- display(['y(' num2str(x) ')=' num2str(y) ' h=' num2str(h) ' T=' num2str(T)]);
- if(x>=1)
- break;
- end
- end
- %by MJ
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement