Advertisement
Guest User

ćw2 20.03.2019

a guest
Mar 20th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.12 KB | None | 0 0
  1. % f(x) = cos(x^2), x0=2, h0=0,2
  2.  
  3. clear all, clc
  4.  
  5. x = 2;
  6. h0 = 0.2;
  7.  
  8. y = @(x) cos(x^2); %funkcja
  9. y1 = @(x) -2*x*sin(x^2); %pierwsza pochodna
  10. y2 = @(x) -2*sin(x^2) - 2*x^2*cos(x^2); %druga pochodna
  11. y3 = @(x) -12*x*cos(x^2) + 8*x^3*sin(x^2); %trzecia pochodna
  12.  
  13. for i=1:40
  14.     h(i) = h0*2^-(i-1); %krok
  15.    
  16.     Dp(i) = (y(x+h(i))-y(x))/h(i); %różnica progresywna
  17.     Dc(i) = (y(x+h(i))-y(x-h(i)))/(2*h(i)); %różnica centralna
  18.    
  19.     Ep(i) = abs((Dp(i)-y1(x))/y1(x)); %błąd względny różnicy progresywnej, |(dokladne-zmierzone)|/dokladne
  20.     Ec(i) = abs((Dc(i)-y1(x))/y1(x)); %błąd względny różnicy centralnej
  21.    
  22.     Bp(i) = (h(i)*y2(x)/2)/(y1(x)); %błąd metody różnicy progresywnej
  23.     Bc(i) = (((h(i)^2)*y3(x))/6)/(y1(x)) %błąd metody różnicy centralnej
  24. end
  25.  
  26. loglog(h,(Ep),'*')
  27. hold on
  28. grid on
  29. loglog(h,abs(Ec),'x')
  30. loglog(h,abs(Bp),'+')
  31. loglog(h,abs(Bc),'o')
  32. xlabel('log(h)')
  33. ylabel('log bledu wzglednego')
  34. legend('blad calkowity (wzgledny) roznicy progresywnej','blad calkowity (wzgledny) roznicy centralnej','blad metody roznicy progresywnej', 'blad metody roznicy centralnej')
  35. hold off
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement