Advertisement
midnight_sun

Untitled

Nov 5th, 2023
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.56 KB | None | 0 0
  1. //경사 하강법
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4. double f_prime(double x) {//미분 계수 구해주기
  5.     return -6 * pow(x, 2) + 54 * x - 84;//도함수 이용 -> -6x^2+54x-84
  6. }
  7. double new_x = 0;
  8. double old_x = 1e9;
  9. double diff = 0.001;
  10. double control = 0.01;//조절인자
  11. int main() {
  12.     while (abs(new_x - old_x) > diff) {//x값의 변화가 거의 없다(거의 수렴했다.) -> 종료
  13.         old_x = new_x;
  14.         new_x = new_x - control * f_prime(new_x);//x(i+1)=x(i)-조절인자*기울기
  15.         cout << new_x << "\n";//x값 변화 살피기
  16.     }
  17. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement