¡Hay muchas opciones! Aquí hay algunos:
Integración numérica ingenua
% De áreas de rectángulos:
[correo electrónico protegido] (x, y, z) (x. * y. * z). ^ (- x. * y. * z); % de la función que desea integrar
dx = 1e-2; % paso de discretización
[X, Y, Z] = ndgrid (dx / 2: dx: 1); % Omito los puntos finales izquierdos para evitar 0 ^ 0 issuses
F = f (X, Y, Z);
my_integral = sum (F (:)) * dx ^ 3; % la respuesta es aproximadamente 1.215
El problema con este enfoque numérico es que se encuentra con problemas de memoria muy rápidamente. Por ejemplo, el requisito de almacenamiento de lo que escribí es proporcional a dx ^ (- 3) = 10 ^ 6. Pero si hubiera hecho dx = 1e-3, habría necesitado 1000 veces el almacenamiento que excedería las limitaciones de memoria. Además, si queremos una integral cuádruple en lugar de una integral triple, el almacenamiento se escala como dx ^ -4 = 10 ^ 8 para dx = 1e-2. Eso está en el límite superior de lo que se puede hacer en mi máquina.
- ¿Cómo se resolvió la ecuación de [math] \ lim_ {c \ to \ infty} \ left (1 + \ frac {1} {c} \ right) ^ c = e [/ math] para [math] e [/ math ]?
- Is [math] p (t) = a + t ^ 2 [/ math] donde [math] a \ in \ mathbb {R} [/ math] un subespacio de [math] \ mathbb {P} _ {2} [ /matemáticas]?
- ¿Estoy haciendo esta diferenciación implícita, verdad?
- Deje [math] a \ gt 1 [/ math] y [math] M \ geq 0 [/ math]. Suponga que [math] f: \ mathbb {R} \ to \ mathbb {R} [/ math] satisface [math] | f (x) -f (y) | \ le M | xy | ^ a [/ math] para todos [math] x, y \ in \ mathbb {R} [/ math]. ¿Cómo se demuestra que [matemáticas] f [/ matemáticas] es una función constante?
- ¿Cómo se construye la función f tal como f (a ^ n) + f (b ^ n) = f (a ^ n + b ^ n)?
Monte Carlo
[correo electrónico protegido] (x, y, z) (x. * y. * z). ^ (- x. * y. * z); % de la función que desea integrar
n_trials = 1e7; % número de puntos iid para muestrear
r = rand (n_trials, 3); % de muestras de iid uniformes en un cubo
my_integral2 = mean (f (r (:, 1), r (:, 2), r (:, 3))); % la respuesta es aproximadamente 1.215
Este enfoque es bueno porque se escala muy bien con la dimensión. Si su integral hubiera sido de 4 dimensiones, podríamos usar el mismo número de puntos y aún así obtener una buena aproximación.
Simbólico
Este enfoque requiere la caja de herramientas simbólicas y todavía falla en este problema, pero lo escribiré de todos modos ya que funcionaría para problemas que el integrador simbólico puede entender.
syms xyz
my_integral3 = int (int (int ((x * y * z) ^ (- x * y * z), x, 0,1), y, 0,1), z, 0,1); % falla
Triplequad incorporado
[correo electrónico protegido] (x, y, z) (x. * y. * z). ^ (- x. * y. * z); % de la función que desea integrar
tol = 1e-6; %tolerancia
my_integral4 = triplequad (f, 0,1,0,1,0,1, tol)% devuelve 1.214832
Probablemente hay otras formas, pero esto debería ayudarlo a comenzar.