Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. function[x,fx,n]=kubna(fun,dfun,x1,x2,tol)
  2. X=[x1; x2];
  3. Y=[[1; 1] X X.^2 X.^3
  4. [0; 0] [1; 1] 2*X 3*X.^2];
  5. F=[feval(fun,X);feval(dfun,X)];
  6. abcd=Y\F;
  7. b=abcd(2);
  8. c=abcd(3);
  9. d=abcd(4);
  10. D=sqrt(4*c*c-12*b*d);
  11. xa=(-2*c-D)/6/d;
  12. xb=(-2*c+D)/6/d;
  13. if feval(fun,xa) <feval(fun,xb)
  14. x=xa;
  15. else
  16. x=xb;
  17. end
  18. fx=feval(fun,x);
  19. n=0;
  20. while abs([1 x x^2 x^3]*abcd-fx)>tol
  21. if feval(fun,xa) <feval(fun,xb)
  22. X(2)=x;
  23. else
  24. X(1)=x;
  25. end
  26. Y=[[1; 1] X X.^2 X.^3
  27. [0; 0] [1; 1] 2*X 3*X.^2];
  28. F=[feval(fun,X);feval(dfun,X)];
  29. abcd=Y\F;
  30. b=abcd(2);
  31. c=abcd(3);
  32. d=abcd(4);
  33. D=sqrt(4*c*c-12*b*d);
  34. xa=(-2*c-D)/6/d;
  35. xb=(-2*c+D)/6/d;
  36. if feval(fun,xa) <feval(fun,xb)
  37. x=xa;
  38. else
  39. x=xb;
  40. end
  41. n=n+1;
  42. end
  43. fx=feval(fun,x);
  44. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement