Advertisement
rfq

soal 6 | tugas analisis galat

rfq
Feb 27th, 2023 (edited)
700
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.81 KB | None | 0 0
  1. #include<iostream>
  2. #include<cmath>
  3.  
  4. using namespace std;
  5.  
  6. int faktorial(int N) {
  7.     if (N==0) return 1;
  8.     else return N*faktorial(N-1);
  9. }
  10.  
  11. double sin_hampiran(double x, int N) {
  12.     double sigma = 0.;
  13.    
  14.     //TODO: galat setiap N
  15.     for (int i = 0; i<N; i++)
  16.         sigma += pow(-1,i) * pow(x,2*i + 1) / faktorial(2*i + 1);
  17.        
  18.     return sigma;
  19. }
  20.  
  21. double cos_hampiran(double x, int N) {
  22.     double sigma = 0.;
  23.     //TODO: galat setiap N
  24.     for (int i = 0; i<N; i++)
  25.         sigma += pow(-1,i) * pow(x,2*i) / faktorial(2*i);
  26.        
  27.     return sigma;
  28. }
  29.  
  30.  
  31. int main() {
  32.     //nilai n = 1 − 15
  33.     double N = 15;
  34.    
  35.     double x = 0.2;
  36.    
  37.     double sin_e = sin(x); // eksak
  38.     double sin_hp; //hampiran
  39.     double sin_galat_abs, sin_galat_rel, sin_galat_rel_hp;
  40.    
  41.     double cos_e = cos(x); //eksak
  42.     double cos_hp; //hampiran
  43.     double cos_galat_abs, cos_galat_rel, cos_galat_rel_hp;
  44.    
  45.  
  46.     for (int i=1; i<=N; i++) {
  47.         sin_hp = sin_hampiran(x, N);
  48.         cos_hp = cos_hampiran(x, N);
  49.     }
  50.    
  51.     //nyari galat sin(0.2)
  52.     sin_galat_abs = abs(sin_e - sin_hp);
  53.     sin_galat_rel = sin_galat_abs / sin_e;
  54.     sin_galat_rel_hp = sin_galat_abs / sin_hp;
  55.    
  56.     //nyari galat cos(0.2)
  57.     cos_galat_abs = abs(cos_e - cos_hp);
  58.     cos_galat_rel = cos_galat_abs / cos_e;
  59.     cos_galat_rel_hp = cos_galat_abs / cos_hp;
  60.    
  61.     printf("sin(0.2)\nEksak: %.20f\nHampiran: %.20f\nGalat Absolut (mutlak): %.20f\nGalat Relatif: %.20f\nGalat Relatif Hampiran: %.20f\n", sin_e, sin_hp, sin_galat_abs, sin_galat_rel, sin_galat_rel_hp);
  62.     printf("\ncos(0.2)\nEksak: %.20f\nHampiran: %.20f\nGalat Absolut (mutlak): %.20f\nGalat Relatif: %.20f\nGalat Relatif Hampiran: %.20f\n", cos_e, cos_hp, cos_galat_abs, cos_galat_rel, cos_galat_rel_hp);
  63.  
  64.     return 0;
  65. }
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement