Estratto del documento

Funzioni matematiche con fattoriale e polinomi

Calcolo del fattoriale

double fatt (int n) {
if (n == 0) return 1;
else return n * fatt(n - 1);
}

Calcolo della funzione di Bell

double Bell (int n, int N) {
double sum = 0.;
for (int k = 1; k <= N; k++) {
sum = sum + (pow(k, n)) / (fatt(k));
}
return sum / (exp(1));

Calcolo ricorsivo della funzione di Bell

double Bellrec (int n) {
double sum = 0;
if (n == 0) {
return 1;
} else {
for (int k = 0; k <= n - 1; k++) {
sum = sum + (fatt(n - 1) * Bellrec(k)) / (fatt(k) * fatt(n - 1 - k));
}
return sum;
}

Polinomi di Chebyshev

double chebyshev (int n, double x) {
int N = n / 2;
double sum = 0;
for (int k = 0; k <= N; k++) {
sum = sum + (pow(-1, k) * fatt(n) * pow(x, n - 2 * k) * pow(1 - pow(x, 2), k)) / ((fatt(n - 2 * k)) * (fatt(2 * k)));
return sum;
}

Calcolo ricorsivo dei polinomi di Chebyshev

double chebyshev_recursiva (int n, double x) {
if (n == 0) {
return 1;
}
if (n == 1) {
return x;
} else return 2 * x * chebyshev_recursiva(n - 1, x) - chebyshev_recursiva(n - 2, x);
}

Polinomi associati

double T (int n, double x) {
double pi = acos(-1); // Definizione di pi greco
double prod = 1;
for (int k = 1; k <= n; k++) {
prod = prod * (x - cos((pi * (2 * k - 1)) / (2 * n)));
}
return prod * pow(2, n - 1);
}

double Urec (int n, double x) {
if (n == 0) {
return 1;
}
if (n == 1) {
return 2 * x;
}
return 2 * x * Urec(n - 1, x) - Urec(n - 2, x);
}

Metodi di integrazione

double sympson (int n, double step) {
int N = (2. / step) + 1;
double* x = new double[N];
for (int i = 0; i < N; i++) {
x[i] = -1 + step * i;
}
double sum = 0.;
for (int i = 0; i < N - 1; i++) {
sum = sum + (f(n, x[i]) + 4. * f(n, 0.5 * (x[i] + x[i + 1])) + f(n, x[i + 1]));
}
delete[] x;
return sum * (step / 6.);
}

double f (int n, double x) {
return U(n, x) * U(n, x) * (sqrt(1 - pow(x, 2)));
}

Polinomi di Laguerre

double laguerre (int n, double x) {
double sum = 0;
for (int k = 0; k <= n; k++) {
sum = sum + pow(-1, k) * fatt(n) / (pow(fatt(k), 2) * fatt(n - k)) * pow(x, k);
}
return sum;
}

double laguerreR (int n, double x) {
if (n == 0) return 1;
if (n == 1) return 1 - x;
}

Anteprima
Vedrai una selezione di 3 pagine su 6
Riassunto codici c++ per esame Pag. 1 Riassunto codici c++ per esame Pag. 2
Anteprima di 3 pagg. su 6.
Scarica il documento per vederlo tutto.
Riassunto codici c++ per esame Pag. 6
1 su 6
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher landguido di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Bologna o del prof Teodori Francesco.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community