Advertisement
Guest User

Untitled

a guest
May 22nd, 2017
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.47 KB | None | 0 0
  1. function y=MSA(fun,p1,p2,numOfLoops)
  2.  
  3. x0 = (p1+p2)/2;
  4. x1 = SA(fun,p1,p2,1);
  5.  
  6. syms x xn xnm;
  7. fun1 = subs(fun,x,xn);
  8. fun2 = subs(fun,x,xnm);
  9. i = 0;
  10. xnm = x0;
  11. xn = x1;
  12.  
  13. while((abs(xn-xnm) > 0.00001 || abs(subs(diff(fun1))) < 1) && i < numOfLoops)
  14.  
  15. fxn = subs(fun1);
  16. fxnm = subs(fun2);
  17.  
  18. eta = (fxn-fxnm)/(xn-xnm);
  19. alpha = 1/(1-eta);
  20. xnp = xn + (alpha*(fxn -xn));
  21.  
  22. tmp = xn;
  23. xn = xnp;
  24. xnm = tmp;
  25. i = i+1;
  26. end
  27. y = xn;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement