Advertisement
Guest User

Untitled

a guest
Dec 16th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. clc
  2. close all
  3. clear
  4.  
  5. %F = input("Podaj funkcje: ", 's');
  6. %funkcja = str2func(strcat('@(x)',F));
  7. funkcja=@(x) x.^3+x.^2-20*x;
  8. %a = input("Podaj a: ");
  9. %b = input("Podaj b: ");
  10. a=0;
  11. b=6;
  12. liczbaIteracji=0;
  13.  
  14. %zloty podzial
  15. epsilon=0.01;
  16. while(abs((b-a))>epsilon)
  17. L=b-a;
  18. x2=a+0.618*L;
  19. x1=a+0.382*L;
  20. if funkcja(x1)<funkcja(x2)
  21. b=x2;
  22. else
  23. a=x1;
  24. end
  25. liczbaIteracji=liczbaIteracji+1;
  26. end
  27. zlotyPodzial=(a+b)/2
  28. liczbaIteracji
  29.  
  30. %polowienia
  31. a=0;
  32. b=6;
  33. liczbaIteracji=0;
  34. while(abs((b-a))>epsilon)
  35. xM=(a+b)/2;
  36. x1=(a+xM)/2;
  37. x2=(xM+b)/2;
  38. if funkcja(x1)<funkcja(xM)
  39. b=xM;
  40. elseif funkcja(xM)>funkcja(x2)
  41. a=xM;
  42. else
  43. a=x1;
  44. b=x2;
  45. end
  46. liczbaIteracji=liczbaIteracji+1;
  47. end
  48. polowienia=(a+b)/2
  49. liczbaIteracji
  50.  
  51. %newtona
  52. h=0.01;
  53. pochodna3=@(x) ((funkcja(x+h)-funkcja(x-h))/(2*h));
  54. pochodna22=@(x) ((funkcja(x+2*h)-2*funkcja(x+h)+funkcja(x-h))/(4*h^2));
  55. a=0;
  56. b=6;
  57. liczbaIteracji=0;
  58. przedzial=a:b:0.1;
  59. i=0;
  60.  
  61. while(1)
  62. liczbaIteracji=liczbaIteracji+1;
  63. display("cos");
  64. if funkcja(i) == 0
  65. wartosc=i-(funkcja(i)/pochodna3(i));
  66. if(pochodna3(i)==0)
  67. wartosc=i-(pochodna3(i)/pochodna22(i));
  68. end
  69. end
  70.  
  71. if abs(wartosc-i)<epsilon
  72. break;
  73. end
  74. i=wartosc;
  75. end
  76. newtona=wartosc
  77. liczbaIteracji
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement