All pastes #397033 Raw Edit

aria de sub 2 clopote gauss

public c v1 · immutable
·published 2007-03-16 04:58 UTC
rendered paste body
#include <math.h>double gauss_lim_inf = -10.0, /* limita inferioara pentru simulare */       gauss lim_sup = 10.0; /* limita superioara pentru simulare *//* numarul de bucati in care va fi impartit intervalul */int gauss_nr_intervale = 1000; #define SQR(x) ((x)*(x))#define MIN(a, b) ( (a)<(b) ? (a) : (b) )double aria_comuna(        double a1, double s1, /* valorile pentru prima distributie */        double a2, double s2, /* valorile pentru a doua distributie */ ){    int i;    double A, val1, val2, dim_int, x;    /* aria comuna */    A = 0.0;    /* dimensiunea unui interval */    dim_int = (gauss_lim_sup - gauss_lim_inf) / gauss_nr_intervale;    for (i=0; i<gauss_nr_intervale; i++) {        /* punctul in care calculam distributiile */        x = gauss_lim_inf + i*dim_int;        /* valoarea pentru prima distributie */        val1 = 1 / (s1 * sqrt(2*M_PI)) * exp( -1/2 * SQR(((x-a1)/s1)) );        /* valoarea pentru a doua distributie */        val2 = 1 / (s1 * sqrt(2*M_PI)) * exp( -1/2 * SQR(((x-a2)/s2)) );                A += dim_int * MIN(val1, val2);    }    return 2*A-1;}