Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.98 KB | None | 0 0
  1. clear all, clc
  2. x=2;
  3. h0=.2;
  4. f=@(x)  x^2*cos(x);
  5. p1=@(x) 2*x*cos(x)-x^2*sin(x);
  6. p2=@(x) 2*cos(x)-4*x*sin(x)-x^2*cos(x);
  7. p3=@(x) -6*sin(x)-6*x*cos(x)+x^2*sin(x);
  8.  
  9. for i=1:40
  10.    
  11.     h(i)=h0*2^(-(i-1)); %%krok
  12.    
  13.     dp(i)   = (f(x+h(i))-f(x))/h(i);    %%progresywna
  14.     wzdp(i) = abs((dp(i)-p1(x))/p1(x)); %%blad względny roznicy prog.
  15.     bzdp(i)  = (h(i)/2*p2(x))/p1(x);     %%błąd bezwzględny
  16.    
  17.     dc(i)   = (f(x+h(i))-(f(x-h(i))))/(2*h(i))    %%różnica centralna
  18.     wzdc(i)  = abs((dc(i)-p1(x))/p1(x));         %%błąd względny różnicy centralnej
  19.     bzdc(i)  = (((h(i)^2)*p3(x))/6)/(p1(x));            %%błąd bezwzgędny
  20. end
  21.  
  22. loglog(h,wzdp,'r.');
  23. hold on
  24. grid on
  25. loglog(h,wzdc,'blue.');
  26. loglog(h,abs(bzdp),'black');
  27. loglog(h,abs(bzdc));
  28. xlabel('log(h)');
  29. ylabel('log(błąd)');
  30. legend('różnica progresywna','różnica centralna','błąd względny odcięcia r. prog','błąd względny odcięcia r.cent.');
  31. legned('location','South');
  32. hold off
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement