Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cmath>
- using namespace std;
- int faktorial(int N) {
- if (N==0) return 1;
- else return N*faktorial(N-1);
- }
- double sin_hampiran(double x, int N) {
- double sigma = 0.;
- //TODO: galat setiap N
- for (int i = 0; i<N; i++)
- sigma += pow(-1,i) * pow(x,2*i + 1) / faktorial(2*i + 1);
- return sigma;
- }
- double cos_hampiran(double x, int N) {
- double sigma = 0.;
- //TODO: galat setiap N
- for (int i = 0; i<N; i++)
- sigma += pow(-1,i) * pow(x,2*i) / faktorial(2*i);
- return sigma;
- }
- int main() {
- //nilai n = 1 − 15
- double N = 15;
- double x = 0.2;
- double sin_e = sin(x); // eksak
- double sin_hp; //hampiran
- double sin_galat_abs, sin_galat_rel, sin_galat_rel_hp;
- double cos_e = cos(x); //eksak
- double cos_hp; //hampiran
- double cos_galat_abs, cos_galat_rel, cos_galat_rel_hp;
- for (int i=1; i<=N; i++) {
- sin_hp = sin_hampiran(x, N);
- cos_hp = cos_hampiran(x, N);
- }
- //nyari galat sin(0.2)
- sin_galat_abs = abs(sin_e - sin_hp);
- sin_galat_rel = sin_galat_abs / sin_e;
- sin_galat_rel_hp = sin_galat_abs / sin_hp;
- //nyari galat cos(0.2)
- cos_galat_abs = abs(cos_e - cos_hp);
- cos_galat_rel = cos_galat_abs / cos_e;
- cos_galat_rel_hp = cos_galat_abs / cos_hp;
- 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);
- 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);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement