Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- syms x;
- f = 2+x^2; %funkcja podcalkowa z argumentem 'x'
- a = 0; %poczatek przedzialu
- b = pi; %koniec przedzialu
- n = 4; %liczba podprzedzialow
- h = (b-a)/n;
- y = zeros(1,n);
- delta_y = zeros(1,n);
- y(1) = 0;
- for i=1:(n+1)
- k1 = subs(f,x,(a+h*(i-1)));
- k2 = subs(f,x,((a+h*(i-1))+h/2));
- k3 = subs(f,x,((a+h*(i-1))+h/2));
- k4 = subs(f,x,((a+h*(i-1))+h));
- delta_y(i) = 1/6*h*(k1+2*k2+2*k3+k4);
- y(i+1) = y(i)+delta_y(i);
- end
- y(n+1)
- % MODYFIKACJA
- syms x;
- f = 2+x^2; %funkcja podcalkowa z argumentem 'x'
- a = 0; %poczatek przedzialu
- b = pi; %koniec przedzialu
- n = 4; %liczba podprzedzialow
- d = 1e3;%dokładność po przecinku
- h = (b-a)/n;
- y = zeros(1,n);
- y_ = zeros(1,n);
- delta_y = zeros(1,n);
- delta_y_ = zeros(1,n);
- y(1) = 0;
- y_(1) =0;
- for i=1:(n )
- clc
- disp('iteracja :'); i
- k1 = subs(f,x,(a+h*(i-1)));
- k2 = subs(f,x,((a+h*(i-1))+h/2));
- k3 = subs(f,x,((a+h*(i-1))+h/2));
- k4 = subs(f,x,((a+h*(i-1))+h));
- k1_ = double(floor(k1*d))/d;
- k2_ = double(floor(k2*d))/d;
- k3_ = double(floor(k3*d))/d;
- k4_ = double(floor(k4*d))/d;
- k=[k1 k2 k3 k4] %dokładne
- k_ = [k1_ k2_ k3_ k4_] %ucięte
- delta_y(i) = 1/6*h*(k1+2*k2+2*k3+k4)
- delta_y_(i) = 1/6*h*(k1_+2*k2_+2*k3_+k4_);
- delta_y_(i) = double(floor(delta_y_(i)*d))/d
- y(i+1) = y(i)+delta_y(i)
- y_(i+1) = y_(i)+delta_y_(i)
- pause
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement