Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % f(x) = cos(x^2), x0=2, h0=0,2
- clear all, clc
- x = 2;
- h0 = 0.2;
- y = @(x) cos(x^2); %funkcja
- y1 = @(x) -2*x*sin(x^2); %pierwsza pochodna
- y2 = @(x) -2*sin(x^2) - 2*x^2*cos(x^2); %druga pochodna
- y3 = @(x) -12*x*cos(x^2) + 8*x^3*sin(x^2); %trzecia pochodna
- for i=1:40
- h(i) = h0*2^-(i-1); %krok
- Dp(i) = (y(x+h(i))-y(x))/h(i); %różnica progresywna
- Dc(i) = (y(x+h(i))-y(x-h(i)))/(2*h(i)); %różnica centralna
- Ep(i) = abs((Dp(i)-y1(x))/y1(x)); %błąd względny różnicy progresywnej, |(dokladne-zmierzone)|/dokladne
- Ec(i) = abs((Dc(i)-y1(x))/y1(x)); %błąd względny różnicy centralnej
- Bp(i) = (h(i)*y2(x)/2)/(y1(x)); %błąd metody różnicy progresywnej
- Bc(i) = (((h(i)^2)*y3(x))/6)/(y1(x)) %błąd metody różnicy centralnej
- end
- loglog(h,(Ep),'*')
- hold on
- grid on
- loglog(h,abs(Ec),'x')
- loglog(h,abs(Bp),'+')
- loglog(h,abs(Bc),'o')
- xlabel('log(h)')
- ylabel('log bledu wzglednego')
- legend('blad calkowity (wzgledny) roznicy progresywnej','blad calkowity (wzgledny) roznicy centralnej','blad metody roznicy progresywnej', 'blad metody roznicy centralnej')
- hold off
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement