Advertisement
Guest User

Sieczne

a guest
Mar 20th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.70 KB | None | 0 0
  1. function rv = mSieczne(f,a,b)
  2. a = 0;
  3. b = 4;
  4. f = @(x)x^3+x^2-1;
  5.  
  6. przedzial = [a,b];
  7. % z = a:0.1:b;
  8. eps = 0.0000001;
  9.  
  10. c=b-f(b)*((b-a)/(f(b)-f(a)));
  11.  
  12.  
  13.  %próbowałem liczyć i rysować funkcję, ale jest ezplot :)
  14. %  z= [a,b];
  15. %  x = z
  16. %  for i = 1:0.1:b
  17. %  x(i) = f(x(i));
  18. %
  19. %  plot(x,z)
  20. %  pause(1)
  21.  
  22. while abs(f(c))>eps    
  23.     a =b;
  24.     b=c;
  25.     c=b-f(b)*((b-a)/(f(b)-f(a)));
  26.  
  27.     ezplot(f,przedzial);
  28.     hold on  
  29.     grid on
  30.     fz = [a,f(b)];
  31.     plot(fz);
  32.     pause(0.01);
  33.     hold off;
  34.    
  35. end
  36. rv = c;
  37.  
  38. hold on
  39.  
  40. ezplot(f, przedzial)
  41. z= [a,b];
  42. fz = [a,f(b)];
  43. plot(fz)
  44.  
  45. scatter(c,0)    % ma zaznaczyć miejsce zerowe, chyba mam zamienione osie x z osią y ?
  46.  
  47. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement